home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / prog_bas / t2win_16.zip / T2WIN-16.FRM < prev    next >
Text File  |  1996-05-16  |  280KB  |  8,990 lines

  1. VERSION 4.00
  2. Begin VB.Form frmT2W 
  3.    BorderStyle     =   4  'Fixed ToolWindow
  4.    Caption         =   "TIME TO WIN (16-Bit Demo)"
  5.    ClientHeight    =   8115
  6.    ClientLeft      =   285
  7.    ClientTop       =   465
  8.    ClientWidth     =   9105
  9.    BeginProperty Font 
  10.       name            =   "MS Sans Serif"
  11.       charset         =   1
  12.       weight          =   700
  13.       size            =   8.25
  14.       underline       =   0   'False
  15.       italic          =   0   'False
  16.       strikethrough   =   0   'False
  17.    EndProperty
  18.    ForeColor       =   &H80000008&
  19.    Height          =   8460
  20.    Left            =   255
  21.    LinkTopic       =   "Form1"
  22.    MaxButton       =   0   'False
  23.    ScaleHeight     =   8115
  24.    ScaleWidth      =   9105
  25.    ShowInTaskbar   =   0   'False
  26.    Tag             =   "c"
  27.    Top             =   150
  28.    Width           =   9165
  29.    Begin VB.PictureBox Picture1 
  30.       AutoRedraw      =   -1  'True
  31.       AutoSize        =   -1  'True
  32.       BorderStyle     =   0  'None
  33.       Height          =   480
  34.       Left            =   8550
  35.       Picture         =   "T2WIN-16.frx":0000
  36.       ScaleHeight     =   480
  37.       ScaleWidth      =   480
  38.       TabIndex        =   0
  39.       Top             =   180
  40.       Visible         =   0   'False
  41.       Width           =   480
  42.    End
  43.    Begin VB.ComboBox Combo2 
  44.       Height          =   300
  45.       Left            =   6570
  46.       TabIndex        =   4
  47.       Top             =   450
  48.       Width           =   1185
  49.    End
  50.    Begin VB.TextBox Text1 
  51.       Height          =   285
  52.       Left            =   3150
  53.       TabIndex        =   10
  54.       Text            =   "Text1"
  55.       Top             =   7740
  56.       Width           =   5865
  57.    End
  58.    Begin VB.Frame Frame1 
  59.       Height          =   1455
  60.       Left            =   90
  61.       TabIndex        =   6
  62.       Top             =   6210
  63.       Visible         =   0   'False
  64.       Width           =   8925
  65.       Begin VB.ListBox List1 
  66.          Height          =   1200
  67.          Left            =   180
  68.          TabIndex        =   7
  69.          Top             =   180
  70.          Width           =   4155
  71.       End
  72.       Begin VB.ListBox List2 
  73.          Height          =   1200
  74.          Left            =   4590
  75.          TabIndex        =   8
  76.          Top             =   180
  77.          Width           =   4155
  78.       End
  79.    End
  80.    Begin VB.CommandButton Command1 
  81.       Caption         =   "&Start demo for the selected item"
  82.       Height          =   285
  83.       Left            =   90
  84.       TabIndex        =   2
  85.       Top             =   450
  86.       Width           =   4065
  87.    End
  88.    Begin VB.ComboBox Combo1 
  89.       Height          =   300
  90.       Left            =   90
  91.       TabIndex        =   1
  92.       Top             =   90
  93.       Width           =   7665
  94.    End
  95.    Begin VB.Label Label2 
  96.       Appearance      =   0  'Flat
  97.       BackColor       =   &H80000005&
  98.       BackStyle       =   0  'Transparent
  99.       Caption         =   "&Text for string manipulation"
  100.       ForeColor       =   &H80000008&
  101.       Height          =   195
  102.       Left            =   90
  103.       TabIndex        =   9
  104.       Top             =   7785
  105.       Width           =   2985
  106.    End
  107.    Begin VB.Label Label1 
  108.       BackStyle       =   0  'Transparent
  109.       Caption         =   "&Iterations for speed test"
  110.       Height          =   195
  111.       Left            =   4320
  112.       TabIndex        =   3
  113.       Top             =   510
  114.       Width           =   2175
  115.    End
  116.    Begin VB.Label Label3 
  117.       BackStyle       =   0  'Transparent
  118.       BorderStyle     =   1  'Fixed Single
  119.       Height          =   5340
  120.       Left            =   90
  121.       TabIndex        =   5
  122.       Top             =   810
  123.       Width           =   8925
  124.       WordWrap        =   -1  'True
  125.    End
  126. End
  127. Attribute VB_Name = "frmT2W"
  128. Attribute VB_Creatable = False
  129. Attribute VB_Exposed = False
  130. Option Explicit
  131. Option Base 1
  132.  
  133. Dim Item       As Integer
  134. Dim ItemFile   As Integer
  135. Dim ItemMean   As Integer
  136.  
  137. Const RandI = 32767
  138. Const RandL = 2147483647
  139. Const RandS = 1E+10!
  140. Const RandD = 1E+16
  141.  
  142. Dim Tmp  As String
  143.  
  144. Private Sub Combo2_Click()
  145.    Item = Val(Combo2.Text)
  146.    ItemFile = Val(Combo2.Text)
  147.    ItemMean = Val(Combo2.Text)
  148. End Sub
  149.  
  150. Private Sub Command1_Click()
  151.  
  152.    Static Flag    As Integer
  153.  
  154.    If (Flag = True) Then Exit Sub
  155.  
  156.    frmT2W.Tag = cGetIn(cEXEnameActiveWindow(), ".", 1)
  157.    
  158.    cDisableFI Picture1
  159.  
  160.    Flag = True
  161.    MousePointer = 11
  162.  
  163.    Frame1.Visible = False
  164.    List1.Clear
  165.    List2.Clear
  166.    List1.FontBold = True
  167.    List2.FontBold = True
  168.    Label3.Caption = ""
  169.  
  170.    DoEvents
  171.  
  172.    Select Case Combo1.ListIndex
  173.       Case 0
  174.          Frame1.Visible = True
  175.          Call TestAddI
  176.       Case 1
  177.          Frame1.Visible = True
  178.          Call TestDeviationI
  179.       Case 2
  180.          Frame1.Visible = True
  181.          Call TestFillI
  182.       Case 3
  183.          Frame1.Visible = True
  184.          Call TestMaxI
  185.       Case 4
  186.          Frame1.Visible = True
  187.          Call TestMeanI
  188.       Case 5
  189.          Frame1.Visible = True
  190.          Call TestMinI
  191.       Case 6
  192.          Frame1.Visible = True
  193.          Call TestSetI
  194.       Case 7
  195.          Frame1.Visible = True
  196.          Call TestSumI
  197.       Case 8
  198.          Frame1.Visible = True
  199.          Call TestSortI
  200.       Case 9
  201.          Frame1.Visible = True
  202.          Call TestReverseSortI
  203.       Case 10
  204.          Call TestAddTime
  205.       Case 11
  206.          Call TestTimeBetween
  207.       Case 12
  208.          Call TestCheckTime
  209.       Case 13
  210.          Call TestHourTo
  211.       Case 14
  212.          Call TestWindowsIni
  213.       Case 15
  214.          Call TestWinINI1
  215.       Case 16
  216.          Call TestWinINI2
  217.       Case 17
  218.          Call TestWinINI3
  219.       Case 18
  220.          Call TestAllSubDir
  221.       Case 19
  222.          Call TestGetDriveCurrentDir
  223.       Case 20
  224.          Call TestGetDefaultCurrentDir
  225.       Case 21
  226.          Call TestChDir
  227.       Case 22
  228.          Call TestCountFiles
  229.       Case 23
  230.          Call TestCountDirectories
  231.       Case 24
  232.          Call TestKillFiles
  233.       Case 25
  234.          Call TestGetFullnameInEnv
  235.       Case 26
  236.          Call TestGetDiskSpace
  237.       Case 27
  238.          Call TestGetDiskUsed
  239.       Case 28
  240.          Call TestGetDiskFree
  241.       Case 29
  242.          Call TestKillDir
  243.       Case 30
  244.          Call TestRenameFile
  245.       Case 31
  246.          Call TestFileResetAllAttrib
  247.       Case 32
  248.          Call TestFileSetAllAttrib
  249.       Case 33
  250.          Call TestIsFileX
  251.       Case 34
  252.          Call TestSubDirectory
  253.       Case 35
  254.          Call TestUniqueFileName
  255.       Case 36
  256.          Call TestIsX
  257.       Case 37
  258.          Call TestOneCharFromLeft
  259.       Case 38
  260.          Call TestOneCharFromRight
  261.       Case 39
  262.          Call TestBlockCharFromLeft
  263.       Case 40
  264.          Call TestBlockCharFromRight
  265.       Case 41
  266.          Call TestCompact
  267.       Case 42
  268.          Call TestUncompact
  269.       Case 43
  270.          Call TestInsertChars
  271.       Case 44
  272.          Call TestRemoveBlockChar
  273.       Case 45
  274.          Call TestRemoveOneChar
  275.       Case 46
  276.          Call TestCompressTab
  277.       Case 47
  278.          Call TestExpandTab
  279.       Case 48
  280.          Call TestGiveBitPalindrome
  281.       Case 49
  282.          Call TestIsBitPalindrome
  283.       Case 50
  284.          Call TestInsertBlocksBy
  285.       Case 51
  286.          Call TestInsertBlocks
  287.       Case 52
  288.          Call TestResizeStringAndFill
  289.       Case 53
  290.          Call TestResizeString
  291.       Case 54
  292.          Call TestFilterBlocks
  293.       Case 55
  294.          Call TestFilterChars
  295.       Case 56
  296.          Call TestCheckChars
  297.       Case 57
  298.          Call TestChangeChars
  299.       Case 58
  300.          Call TestChangeCharsUntil
  301.       Case 59
  302.          Call TestReverse
  303.       Case 60
  304.          Call TestGetIn
  305.       Case 61
  306.          Call TestGetBlock
  307.       Case 62
  308.          Call TestCreateAndFill
  309.       Case 63
  310.          Call TestStringCRC32
  311.       Case 64
  312.          Call TestCompress
  313.       Case 65
  314.          Call TestEncrypt
  315.       Case 66
  316.          Call TestDecrypt
  317.       Case 67
  318.          Call TestFileCRC32
  319.       Case 68
  320.          Call TestLrc
  321.       Case 69
  322.          Call TestIsPalindrome
  323.       Case 70
  324.          Call TestCheckNumericity
  325.       Case 71
  326.          Call TestFill
  327.       Case 72
  328.          Call TestSetAllBits
  329.       Case 73
  330.          Call TestSetBit
  331.       Case 74
  332.          Call TestGetBit
  333.       Case 75
  334.          Call TestFindBitSet
  335.       Case 76
  336.          Call TestFindBitReset
  337.       Case 77
  338.          Call TestToggleBit
  339.       Case 78
  340.          Call TestToggleAllBits
  341.       Case 79
  342.          Call TestReverseAllBits
  343.       Case 80
  344.          Call TestReverseAllBitsByChar
  345.       Case 81
  346.          Call TestCreateBits
  347.       Case 82
  348.          Call TestAtoR
  349.       Case 83
  350.          Call TestRtoA
  351.       Case 84
  352.          Call TestCustomControls
  353.       Case 85
  354.          Call TestSwap
  355.       Case 86
  356.          Call TestMin
  357.       Case 87
  358.          Call TestMenuChange
  359.       Case 88
  360.          Call TestFilesSize
  361.       Case 89
  362.          Call TestClusterSize
  363.       Case 90
  364.          Call TestAscTime
  365.       Case 91
  366.          Call TestLanguage
  367.       Case 92
  368.          Call TestReadLanguage
  369.       Case 93
  370.          Call TestFileCmp
  371.       Case 94
  372.          Call TestFileCopy
  373.       Case 95
  374.          Call TestFileFilter
  375.       Case 96
  376.          Call TestFileFilterNot
  377.       Case 97
  378.          Call TestFileEncrypt
  379.       Case 98
  380.          Call TestFileCompressTab
  381.       Case 99
  382.          Call TestSplitPath
  383.       Case 100
  384.          Call TestFullPath
  385.       Case 101
  386.          Call TestMakePath
  387.       Case 102
  388.          Call TestMsgBox
  389.       Case 103
  390.          Call TestInpBox
  391.       Case 104
  392.          Call TestMixChars
  393.       Case 105
  394.          Call TestFileVersionInfo
  395.       Case 106
  396.          Call TestFileVersion
  397.       Case 107
  398.          Call TestFileLineCount
  399.       Case 108
  400.          Call TestFileToX
  401.       Case 109
  402.          Call TestBig
  403.       Case 110
  404.          Call TestBigNum
  405.       Case 111
  406.          Call TestSysMenuChange(LNG_FRENCH)
  407.       Case 112
  408.          Call TestSysMenuChange(LNG_DUTCH)
  409.       Case 113
  410.          Call TestSysMenuChange(LNG_GERMAN)
  411.       Case 114
  412.          Call TestSysMenuChange(LNG_ENGLISH)
  413.       Case 115
  414.          Call TestSysMenuChange(LNG_ITALIAN)
  415.       Case 116
  416.          Call TestSysMenuChange(LNG_SPANISH)
  417.       Case 117
  418.          Call TestFileMerge
  419.       Case 118
  420.          Call TestFileSR
  421.       Case 119
  422.          Call TestFileS
  423.       Case 120
  424.          Call TestPatternMatch
  425.       Case 121
  426.          Call TestPatternExtMatch
  427.       Case 122
  428.          Call TestMorse
  429.       Case 123
  430.          Call TestDriveType
  431.       Case 124
  432.          Call TestBaseConversion
  433.       Case 125
  434.          Call TestFileStatictics
  435.       Case 126
  436.          Call TestDAStr(True)
  437.       Case 127
  438.          Call TestDAL(True)
  439.       Case 128
  440.          Call TestDAType(True)
  441.       Case 129
  442.          Call TestDAStr(False)
  443.       Case 130
  444.          Call TestDAL(False)
  445.       Case 131
  446.          Call TestDAType(False)
  447.       Case 132
  448.          Call TestDAStr(1)
  449.       Case 133
  450.          Call TestDAL(1)
  451.       Case 134
  452.          Call TestDAType(1)
  453.       Case 135
  454.          Call TestDAStr(2)
  455.       Case 136
  456.          Call TestDAL(2)
  457.       Case 137
  458.          Call TestDAType(2)
  459.       Case 138
  460.          Call TestDAStr(3)
  461.       Case 139
  462.          Call TestDAL(3)
  463.       Case 140
  464.          Call TestDAType(3)
  465.       Case 141
  466.          Call TestDAStr(4)
  467.       Case 142
  468.          Call TestDAL(4)
  469.       Case 143
  470.          Call TestDAType(4)
  471.       Case 144
  472.          Call TestDAStr(5)
  473.       Case 145
  474.          Call TestDAL(5)
  475.       Case 146
  476.          Call TestDAType(5)
  477.       Case 147
  478.          Call TestDAStr(6)
  479.       Case 148
  480.          Call TestDAL(6)
  481.       Case 149
  482.          Call TestDAType(6)
  483.       Case 150
  484.          Call TestCloseAllEditForm
  485.       Case 151
  486.          Call TestHideAllEditForm
  487.       Case 152
  488.          Call TestHideDebugForm
  489.       Case 153
  490.          Call TestOrToken
  491.       Case 154
  492.          Call TestAndToken
  493.       Case 155
  494.          Call TestWalkThruWindow
  495.       Case 156
  496.          Call TestSerial
  497.       Case 157
  498.          Call TestTimer
  499.       Case 158
  500.          Call TestAlign
  501.       Case 159
  502.          Call TestToken
  503.       Case 160
  504.          Call TestArrayOnDisk
  505.       Case 161
  506.          Call TestArrayStringOnDisk
  507.       Case 162
  508.          Call TestCnvAE
  509.       Case 163
  510.          Call TestCombination
  511.       Case 164
  512.          Frame1.Visible = True
  513.          Call TestFileSort(SORT_ASCENDING + SORT_CASE_SENSITIVE, False)
  514.       Case 165
  515.          Frame1.Visible = True
  516.          Call TestFileSort(SORT_DESCENDING + SORT_CASE_SENSITIVE, False)
  517.       Case 166
  518.          Frame1.Visible = True
  519.          Call TestFileSort(SORT_ASCENDING + SORT_CASE_INSENSITIVE, False)
  520.       Case 167
  521.          Frame1.Visible = True
  522.          Call TestFileSort(SORT_DESCENDING + SORT_CASE_INSENSITIVE, False)
  523.       Case 168
  524.          Frame1.Visible = True
  525.          Call TestFileSort(SORT_ASCENDING + SORT_CASE_SENSITIVE, True)
  526.       Case 169
  527.          Frame1.Visible = True
  528.          Call TestFileSort(SORT_DESCENDING + SORT_CASE_SENSITIVE, True)
  529.       Case 170
  530.          Frame1.Visible = True
  531.          Call TestFileSort(SORT_ASCENDING + SORT_CASE_INSENSITIVE, True)
  532.       Case 171
  533.          Frame1.Visible = True
  534.          Call TestFileSort(SORT_DESCENDING + SORT_CASE_INSENSITIVE, True)
  535.       Case 172
  536.          Call TestRegistrationKey
  537.       Case 173
  538.          Call TestMD5
  539.       Case 174
  540.          Call TestProperName
  541.       Case 175
  542.          Call TestMatrixAdd
  543.       Case 176
  544.          Call TestMatrixSub
  545.       Case 177
  546.          Call TestMatrixCopy
  547.       Case 178
  548.          Call TestMatrixMul
  549.       Case 179
  550.          Call TestMatrixTranspose
  551.       Case 180
  552.          Call TestMatrixCompare
  553.       Case 181
  554.          Call Test2D
  555.       Case 182
  556.          Call Test3D
  557.       Case 183
  558.          Call TestProperName2
  559.       Case 184
  560.          Call TestDOSMediaID
  561.       Case 185
  562.          Call TestFileCompress
  563.       Case 186
  564.          Call TestStringCompress
  565.       Case 187
  566.          Frame1.Visible = True
  567.          Call TestFillIncrI
  568.       Case 188
  569.          Call TestMatrixDet
  570.       Case 189
  571.          Call TestMatrixInv
  572.       Case 190
  573.          Call TestMatrixMinCo
  574.       Case 191
  575.          Call TestMatrixSymToeplitz
  576.       Case 192
  577.          Call TestFloppyInfo
  578.       Case 193
  579.          Call TestDOSGetVolLabel
  580.       Case 194
  581.          Call TestAddTwoTimes
  582.       Case 195
  583.          Call TestMDA(True)
  584.       Case 196
  585.          Call TestMDA(False)
  586.       Case 197
  587.          Call TestMDA(1)
  588.       Case 198
  589.          Call TestMDA(2)
  590.       Case 199
  591.          Call TestMDA(3)
  592.       Case 200
  593.          Call TestMDA(4)
  594.       Case 201
  595.          Call TestMDA(5)
  596.       Case 202
  597.          Call TestMDA(6)
  598.       Case 203
  599.          Call TestDate
  600.       Case 204
  601.          Call TestVersion
  602.       Case 205
  603.          Call TestGetInR
  604.       Case 206
  605.          Call TestBigString01
  606.       Case 207
  607.          Call TestHMAStr(True)
  608.       Case 208
  609.          Call TestHMAL(True)
  610.       Case 209
  611.          Call TestHMAType(True)
  612.       Case 210
  613.          Call TestHMAStr(1)
  614.       Case 211
  615.          Call TestHMAL(1)
  616.       Case 212
  617.          Call TestHMAType(1)
  618.       Case 213
  619.          Call TestHMAStr(2)
  620.       Case 214
  621.          Call TestHMAL(2)
  622.       Case 215
  623.          Call TestHMAType(2)
  624.       Case 216
  625.          Call TestHMAStr(3)
  626.       Case 217
  627.          Call TestHMAL(3)
  628.       Case 218
  629.          Call TestHMAType(3)
  630.       Case 219
  631.          Call TestHMAStr(4)
  632.       Case 220
  633.          Call TestHMAL(4)
  634.       Case 221
  635.          Call TestHMAType(4)
  636.       Case 222
  637.          Call TestHMAStr(5)
  638.       Case 223
  639.          Call TestHMAL(5)
  640.       Case 224
  641.          Call TestHMAType(5)
  642.       Case 225
  643.          Call TestHMAStr(6)
  644.       Case 226
  645.          Call TestHMAL(6)
  646.       Case 227
  647.          Call TestHMAType(6)
  648.       Case 228
  649.          Frame1.Visible = True
  650.          Call TestArrayLB
  651.       Case 229
  652.          Call TestTime
  653.       Case 230
  654.          Call TestControl3D
  655.       Case 231
  656.          Call TestFileChangeChars
  657.       Case 232
  658.          Call TestFilesInfoInDir
  659.       Case 233
  660.          Call TestRcsCountFileDir
  661.       Case 234
  662.          Frame1.Visible = True
  663.          Call TestFilesInDirOnDisk
  664.       Case 235
  665.          Frame1.Visible = True
  666.          Call TestFilesInDirToArray
  667.       Case 236
  668.          Call TestRcsFilesSize
  669.       Case 237
  670.          Call TestMnuLanguage
  671.       Case 238
  672.          Call TestSpellMoney
  673.       Case 239
  674.          Call TestFraction
  675.       Case 240
  676.          Call TestRndX
  677.       Case 241
  678.          Call TestStringSAR
  679.       Case 242
  680.          Call TestTruncatePath
  681.       Case 243
  682.          Call TestSysMenuChange(LNG_CATALAN)
  683.          Call TestLanguage
  684.          SendKeys "% "
  685.       Case 244
  686.          Call TestSysMenuChange(LNG_POLISH)
  687.          Call TestLanguage
  688.          SendKeys "% "
  689.       Case 245
  690.          Frame1.Visible = True
  691.          Call TestCountI
  692.       Case 246
  693.          Frame1.Visible = True
  694.          Call TestSearchI
  695.       Case 247
  696.          Call TestHexaToX
  697.       Case 248
  698.          Call TestBinaryToX
  699.    End Select
  700.  
  701.    MousePointer = 0
  702.  
  703.    Flag = False
  704.  
  705.    cEnableFI Picture1
  706.    
  707. End Sub
  708.  
  709. Private Sub CreateFile()
  710.  
  711.    Dim j       As Integer
  712.  
  713.    j = cFileResetAllAttrib("TEST.DAT")
  714.  
  715.    Close #1
  716.    Open "TEST.DAT" For Output As #1
  717.    Print #1, "This is a file test for t2win-16.dll"
  718.    Print #1, "This is a file test for t2win-16.dll"
  719.    Print #1, "This is a file test for t2win-16.dll"
  720.    Print #1, "This is a file test for t2win-16.dll"
  721.    Print #1, "This is a file test for t2win-16.dll"
  722.    Print #1, "This is a file test for t2win-16.dll"
  723.    Print #1, "This is a file test for t2win-16.dll"
  724.    Close #1
  725.  
  726.    j = cFileResetAllAttrib("TEST.DAT")
  727.  
  728. End Sub
  729.  
  730. Private Sub DefCnv()
  731.  
  732.    Dim i       As Integer
  733.    Dim j       As Integer
  734.    Dim Tmp     As String
  735.  
  736.    Close #1
  737.    Open "c:\tmp\tmp1.Tmp" For Input Shared As #1
  738.    Close #2
  739.    Open "c:\tmp\tmp.Tmp" For Output Shared As #2
  740.  
  741.    i = 0
  742.  
  743.    While Not EOF(1)
  744.       Line Input #1, Tmp
  745.       i = i + 1
  746.       Tmp = cCompress(Tmp)
  747.       Print #2, Tab(10); cGetIn(Tmp, "@", 1);
  748.       Print #2, Tab(60); "@" & i
  749.    Wend
  750.  
  751.    Close #1
  752.    Close #2
  753.  
  754. End Sub
  755.  
  756.  
  757. Private Sub Form_DblClick()
  758.    Call fct_Check_Date_In_CTIME
  759. End Sub
  760.  
  761. Private Sub Form_Load()
  762.  
  763.    Combo2.AddItem "1"
  764.    Combo2.AddItem "5"
  765.    Combo2.AddItem "10"
  766.    Combo2.AddItem "50"
  767.    Combo2.AddItem "100"
  768.    Combo2.AddItem "500"
  769.    Combo2.AddItem "1000"
  770.    Combo2.AddItem "5000"
  771.    
  772.    Combo1.AddItem "Array routines : Add"
  773.    Combo1.AddItem "Array routines : Deviation"
  774.    Combo1.AddItem "Array routines : Fill"
  775.    Combo1.AddItem "Array routines : Max"
  776.    Combo1.AddItem "Array routines : Mean"
  777.    Combo1.AddItem "Array routines : Min"
  778.    Combo1.AddItem "Array routines : Set"
  779.    Combo1.AddItem "Array routines : Sum"
  780.    Combo1.AddItem "Array routines : Sort"
  781.    Combo1.AddItem "Array routines : ReverseSort"
  782.    Combo1.AddItem "Time routines : AddTime"
  783.    Combo1.AddItem "Time routines : TimeBetween"
  784.    Combo1.AddItem "Time routines : CheckTime"
  785.    Combo1.AddItem "Time routines : HourTo"
  786.    Combo1.AddItem "WIN.INI routines : some separators"
  787.    Combo1.AddItem "WIN.INI routines : devices"
  788.    Combo1.AddItem "WIN.INI routines : printerports"
  789.    Combo1.AddItem "WIN.INI routines : winsection (windows section)"
  790.    Combo1.AddItem "Files routines : AllSubDirectories"
  791.    Combo1.AddItem "Files routines : GetDriveCurrentDir"
  792.    Combo1.AddItem "Files routines : GetDefaultCurrentDir"
  793.    Combo1.AddItem "Files routines : ChDir"
  794.    Combo1.AddItem "Files routines : CountFiles"
  795.    Combo1.AddItem "Files routines : CountDirectories"
  796.    Combo1.AddItem "Files routines : KillFiles"
  797.    Combo1.AddItem "Files routines : GetFullnameInEnv"
  798.    Combo1.AddItem "Files routines : GetDiskSpace"
  799.    Combo1.AddItem "Files routines : GetDiskUsed"
  800.    Combo1.AddItem "Files routines : GetDiskFree"
  801.    Combo1.AddItem "Files routines : KillDir"
  802.    Combo1.AddItem "Files routines : RenameFile"
  803.    Combo1.AddItem "Files routines : FileResetAllAttrib"
  804.    Combo1.AddItem "Files routines : FileSetAllAttrib"
  805.    Combo1.AddItem "Files routines : IsFileX"
  806.    Combo1.AddItem "Files routines : SubDirectory"
  807.    Combo1.AddItem "Files routines : UniqueFileName"
  808.    Combo1.AddItem "String routines : IsX"
  809.    Combo1.AddItem "String routines : OneCharFromLeft"
  810.    Combo1.AddItem "String routines : OneCharFromRight"
  811.    Combo1.AddItem "String routines : BlockCharFromLeft"
  812.    Combo1.AddItem "String routines : BlockCharFromRight"
  813.    Combo1.AddItem "String routines : Compact"
  814.    Combo1.AddItem "String routines : Uncompact"
  815.    Combo1.AddItem "String routines : InsertChars"
  816.    Combo1.AddItem "String routines : RemoveBlockChar"
  817.    Combo1.AddItem "String routines : RemoveOneChar"
  818.    Combo1.AddItem "String routines : CompressTab"
  819.    Combo1.AddItem "String routines : ExpandTab"
  820.    Combo1.AddItem "String routines : GiveBitPalindrome"
  821.    Combo1.AddItem "String routines : IsBitPalindrome"
  822.    Combo1.AddItem "String routines : InsertBlocksBy"
  823.    Combo1.AddItem "String routines : InsertBlocks"
  824.    Combo1.AddItem "String routines : ResizeStringAndFill"
  825.    Combo1.AddItem "String routines : ResizeString"
  826.    Combo1.AddItem "String routines : FilterBlocks"
  827.    Combo1.AddItem "String routines : FilterChars"
  828.    Combo1.AddItem "String routines : CheckChars"
  829.    Combo1.AddItem "String routines : ChangeChars"
  830.    Combo1.AddItem "String routines : ChangeCharsUntil"
  831.    Combo1.AddItem "String routines : Reverse"
  832.    Combo1.AddItem "String routines : GetIn"
  833.    Combo1.AddItem "String routines : GetBlock"
  834.    Combo1.AddItem "String routines : CreateAndFill"
  835.    Combo1.AddItem "String routines : StringCRC32"
  836.    Combo1.AddItem "String routines : Compress"
  837.    Combo1.AddItem "String routines : Encrypt"
  838.    Combo1.AddItem "String routines : Decrypt"
  839.    Combo1.AddItem "Files  routines : FileCRC32"
  840.    Combo1.AddItem "String routines : Lrc"
  841.    Combo1.AddItem "String routines : IsPalindrome"
  842.    Combo1.AddItem "String routines : CheckNumericity"
  843.    Combo1.AddItem "String routines : Fill"
  844.    Combo1.AddItem "String routines : SetAllBits"
  845.    Combo1.AddItem "String routines : SetBit"
  846.    Combo1.AddItem "String routines : GetBit"
  847.    Combo1.AddItem "String routines : FindBitSet"
  848.    Combo1.AddItem "String routines : FindBitReset"
  849.    Combo1.AddItem "String routines : ToggleBit"
  850.    Combo1.AddItem "String routines : ToggleAllBits"
  851.    Combo1.AddItem "String routines : ReverseAllBits"
  852.    Combo1.AddItem "String routines : ReverseAllBitsByChar"
  853.    Combo1.AddItem "String routines : CreateBits"
  854.    Combo1.AddItem "String routines : ArabicToRoman"
  855.    Combo1.AddItem "String routines : RomanToArabic"
  856.    Combo1.AddItem "Custom controls"
  857.    Combo1.AddItem "Swap routines"
  858.    Combo1.AddItem "Min,Max routines"
  859.    Combo1.AddItem "System menu change : French"
  860.    Combo1.AddItem "Files routines : FilesSize, FilesSizeOnDisk, FilesSlack"
  861.    Combo1.AddItem "Files routines : GetClusterSize"
  862.    Combo1.AddItem "Language routines : GetAscTime"
  863.    Combo1.AddItem "Language routines : Days and months name"
  864.    Combo1.AddItem "Language routines : Read Control Language"
  865.    Combo1.AddItem "File routines : Compare"
  866.    Combo1.AddItem "File routines : File Copy"
  867.    Combo1.AddItem "File routines : File Filter"
  868.    Combo1.AddItem "File routines : File Filter Not"
  869.    Combo1.AddItem "File routines : File Encrypt/Decrypt"
  870.    Combo1.AddItem "File routines : File Compress/Expand Tab"
  871.    Combo1.AddItem "File routines : SplitPath"
  872.    Combo1.AddItem "File routines : FullPath"
  873.    Combo1.AddItem "File routines : MakePath"
  874.    Combo1.AddItem "Language routines : Multi-Language & TimeOut Message Box"
  875.    Combo1.AddItem "Language routines : Multi-Language Input Box"
  876.    Combo1.AddItem "String routines : MixChars"
  877.    Combo1.AddItem "Windows Specific Routines : FileVersionInfo"
  878.    Combo1.AddItem "Windows Specific Routines : FileVersion"
  879.    Combo1.AddItem "File routines : FileLineCount"
  880.    Combo1.AddItem "File routines : FileToLower/FileToUpper"
  881.    Combo1.AddItem "Misc. routines : Big Double"
  882.    Combo1.AddItem "Misc. routines : Big Numbers"
  883.    Combo1.AddItem "System menu change (one call) : French"
  884.    Combo1.AddItem "System menu change (one call) : Dutch"
  885.    Combo1.AddItem "System menu change (one call) : German"
  886.    Combo1.AddItem "System menu change (one call) : English"
  887.    Combo1.AddItem "System menu change (one call) : Italian"
  888.    Combo1.AddItem "System menu change (one call) : Spanish"
  889.    Combo1.AddItem "File routines : FileMerge"
  890.    Combo1.AddItem "File routines : FileSearchAndReplace"
  891.    Combo1.AddItem "File routines : FileSearch, FileSearchCount"
  892.    Combo1.AddItem "String routines : PatternMatch"
  893.    Combo1.AddItem "String routines : PatternExtMatch"
  894.    Combo1.AddItem "Misc. routines : Morse"
  895.    Combo1.AddItem "DOS routines : GetDriveType"
  896.    Combo1.AddItem "Misc. routines : Base conversion"
  897.    Combo1.AddItem "File routines : FileStatistics"
  898.    Combo1.AddItem "Disk Array routines : (create) String"
  899.    Combo1.AddItem "Disk Array routines : (create) Long"
  900.    Combo1.AddItem "Disk Array routines : (create) Type'd (b.e. : tagTASKENTRY)"
  901.    Combo1.AddItem "Disk Array routines : (use) String"
  902.    Combo1.AddItem "Disk Array routines : (use) Long"
  903.    Combo1.AddItem "Disk Array routines : (use) Type'd (b.e. : tagTASKENTRY)"
  904.    Combo1.AddItem "Disk Array routines : (clear) String"
  905.    Combo1.AddItem "Disk Array routines : (clear) Long"
  906.    Combo1.AddItem "Disk Array routines : (clear) Type'd (b.e. : tagTASKENTRY)"
  907.    Combo1.AddItem "Disk Array routines : (clear sheet 2) String"
  908.    Combo1.AddItem "Disk Array routines : (clear sheet 2) Long"
  909.    Combo1.AddItem "Disk Array routines : (clear sheet 2) Type'd (b.e. : tagTASKENTRY)"
  910.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) String"
  911.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) Long"
  912.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  913.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) String"
  914.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) Long"
  915.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  916.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) String"
  917.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) Long"
  918.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) Type'd (b.e. : tagTASKENTRY)"
  919.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) String"
  920.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) Long"
  921.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) Type'd (b.e. : tagTASKENTRY)"
  922.    Combo1.AddItem "VB Management routines : CloseAllEditForm"
  923.    Combo1.AddItem "VB Management routines : HideAllEditForm, UnHideAllEditForm"
  924.    Combo1.AddItem "VB Management routines : HideDebugForm, UnHideDebugForm"
  925.    Combo1.AddItem "String routines : OrToken, OrTokenIn"
  926.    Combo1.AddItem "String routines : AndToken, AndTokenIn"
  927.    Combo1.AddItem "Windows Specific Routines : WalkThruWindow"
  928.    Combo1.AddItem "Serialization : IsSerial, SerialGet, SerialPut, SerialInc"
  929.    Combo1.AddItem "Timer functions : Extended Timer"
  930.    Combo1.AddItem "String routines : Align"
  931.    Combo1.AddItem "String routines : Token"
  932.    Combo1.AddItem "Array routines : ArrayOnDisk"
  933.    Combo1.AddItem "Array routines : ArrayStringOnDisk"
  934.    Combo1.AddItem "String routines : cCnvASCIItoEBCDIC, cCnvEBCDICtoASCII"
  935.    Combo1.AddItem "Misc. routines : Combination C(n,m)"
  936.    Combo1.AddItem "File routines : FileSort (ASC and CS) (record ended with cr/lf)"
  937.    Combo1.AddItem "File routines : FileSort (DSC and CS) (record ended with cr/lf)"
  938.    Combo1.AddItem "File routines : FileSort (ASC and NS) (record ended with cr/lf)"
  939.    Combo1.AddItem "File routines : FileSort (DSC and NS) (record ended with cr/lf)"
  940.    Combo1.AddItem "File routines : FileSort (ASC and CS) (record size 3)"
  941.    Combo1.AddItem "File routines : FileSort (DSC and CS) (record size 3)"
  942.    Combo1.AddItem "File routines : FileSort (ASC and NS) (record size 3)"
  943.    Combo1.AddItem "File routines : FileSort (DSC and NS) (record size 3)"
  944.    Combo1.AddItem "Misc. routines : RegistrationKey"
  945.    Combo1.AddItem "Misc. routines : HashMD5"
  946.    Combo1.AddItem "String routines : ProperName"
  947.    Combo1.AddItem "Matrix routines : MatrixAdd"
  948.    Combo1.AddItem "Matrix routines : MatrixSub"
  949.    Combo1.AddItem "Matrix routines : MatrixCopy"
  950.    Combo1.AddItem "Matrix routines : MatrixMul"
  951.    Combo1.AddItem "Matrix routines : MatrixTranspose"
  952.    Combo1.AddItem "Matrix routines : MatrixCompare"
  953.    Combo1.AddItem "2-D geometry"
  954.    Combo1.AddItem "3-D geometry"
  955.    Combo1.AddItem "String routines : ProperName2"
  956.    Combo1.AddItem "DOS routines : DOSMediaID"
  957.    Combo1.AddItem "File routines : File Compress/Expand"
  958.    Combo1.AddItem "String routines : String Compress/Expand"
  959.    Combo1.AddItem "Array routines : FillIncrI"
  960.    Combo1.AddItem "Matrix routines : MatrixDet"
  961.    Combo1.AddItem "Matrix routines : MatrixInv"
  962.    Combo1.AddItem "Matrix routines : MatrixMinor,MatrixCoFactor"
  963.    Combo1.AddItem "Matrix routines : MatrixSymToeplitz"
  964.    Combo1.AddItem "DOS routines : FloppyInfo"
  965.    Combo1.AddItem "DOS routines : DOSGetVolumeLabel"
  966.    Combo1.AddItem "Time routines : AddTwoTimes"
  967.    Combo1.AddItem "Multiple Disk Array routines : (create)"
  968.    Combo1.AddItem "Multiple Disk Array routines : (use)"
  969.    Combo1.AddItem "Multiple Disk Array routines : (clear)"
  970.    Combo1.AddItem "Multiple Disk Array routines : (clear sheet 2)"
  971.    Combo1.AddItem "Multiple Disk Array routines : (clear last row in sheet 1)"
  972.    Combo1.AddItem "Multiple Disk Array routines : (clear last col in sheet 1)"
  973.    Combo1.AddItem "Multiple Disk Array routines : (clear last row in all sheets)"
  974.    Combo1.AddItem "Multiple Disk Array routines : (clear last col in all sheets)"
  975.    Combo1.AddItem "Date routines : DayOfWeek, DayOfYear, WeekOfYear, ..."
  976.    Combo1.AddItem "Misc. routines : GetVersion"
  977.    Combo1.AddItem "String routines : GetInR, GetInPart, GetInPartR"
  978.    Combo1.AddItem "Huge String"
  979.    Combo1.AddItem "Huge Memory Array : (create) String"
  980.    Combo1.AddItem "Huge Memory Array : (create) Long"
  981.    Combo1.AddItem "Huge Memory Array : (create) Type'd (b.e. : tagTASKENTRY)"
  982.    Combo1.AddItem "Huge Memory Array : (clear) String"
  983.    Combo1.AddItem "Huge Memory Array : (clear) Long"
  984.    Combo1.AddItem "Huge Memory Array : (clear) Type'd (b.e. : tagTASKENTRY)"
  985.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) String"
  986.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) Long"
  987.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) Type'd (b.e. : tagTASKENTRY)"
  988.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) String"
  989.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) Long"
  990.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  991.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) String"
  992.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) Long"
  993.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  994.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) String"
  995.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) Long"
  996.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) Type'd (b.e. : tagTASKENTRY)"
  997.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) String"
  998.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) Long"
  999.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) Type'd (b.e. : tagTASKENTRY)"
  1000.    Combo1.AddItem "Array routines : ArrayToListBox"
  1001.    Combo1.AddItem "Time routines : TimeToScalar, ScalarToTime"
  1002.    Combo1.AddItem "3D routines : Ctl3D, 3D, GetCtlRect, GetCtlRectTwips"
  1003.    Combo1.AddItem "File routines : FileChangeChars"
  1004.    Combo1.AddItem "File routines : FilesInfoInDir"
  1005.    Combo1.AddItem "File routines : RcsCountFileDir"
  1006.    Combo1.AddItem "File routines : FilesInDirOnDisk"
  1007.    Combo1.AddItem "File routines : FilesInDirToArray"
  1008.    Combo1.AddItem "Files routines : rcsFilesSize, rcsFilesSizeOnDisk, rcsFilesSlack"
  1009.    Combo1.AddItem "Language routines : Read Menu Language"
  1010.    Combo1.AddItem "String routines : SpellMoney"
  1011.    Combo1.AddItem "Misc. routines : Fraction"
  1012.    Combo1.AddItem "Misc. routines : Rndx"
  1013.    Combo1.AddItem "String routines : StringSAR"
  1014.    Combo1.AddItem "File routines : TruncatePath"
  1015.    Combo1.AddItem "System menu change (one call) : Catalan"
  1016.    Combo1.AddItem "System menu change (one call) : Polish"
  1017.    Combo1.AddItem "Array routines : Count"
  1018.    Combo1.AddItem "Array routines : Search"
  1019.    Combo1.AddItem "String routines : H2I, H2L"
  1020.    Combo1.AddItem "String routines : B2I, B2L"
  1021.  
  1022.    Combo1.ListIndex = Combo1.ListCount - 1
  1023.    Combo2.ListIndex = 2
  1024.  
  1025.    Item = Val(Combo2.Text)
  1026.    ItemFile = Val(Combo2.Text)
  1027.    ItemMean = Val(Combo2.Text)
  1028.  
  1029.    Text1.Text = "A/BC/DEF/GHIJ"
  1030.  
  1031. End Sub
  1032.  
  1033. Private Sub Form_Paint()
  1034.  
  1035.    'Dim i As Integer
  1036.    'Dim N As Integer
  1037.    
  1038.    'N = frmT2W.Controls.Count - 1
  1039.  
  1040.    'For i = 0 To N
  1041.    '   If ((frmT2W.Controls(i).Visible = True) And (frmT2W.Controls(i).Enabled = True)) Then
  1042.    '      Call c3D(frmT2W.Controls(i), 0, 0)
  1043.    '   End If
  1044.    'Next i
  1045.  
  1046. End Sub
  1047.  
  1048. Private Sub Form_Unload(Cancel As Integer)
  1049.    Call cShowWindow(frmT2W.hWnd, 1, 125)
  1050. End Sub
  1051.  
  1052. Private Sub Label2_DblClick()
  1053.  
  1054.    Dim i       As Integer
  1055.    Dim N       As Integer
  1056.  
  1057.    N = Combo1.ListCount - 1
  1058.  
  1059.    For i = 0 To N
  1060.       Combo1.ListIndex = i
  1061.       DoEvents
  1062.       Call Command1_Click
  1063.       DoEvents
  1064.    Next i
  1065.  
  1066. End Sub
  1067.  
  1068. Private Sub Test2D()
  1069.  
  1070.    Dim Tmp1       As String
  1071.  
  1072.    Dim i          As Integer
  1073.    Dim j          As Integer
  1074.    Dim k          As Double
  1075.  
  1076.    Dim u          As tagVECTOR2
  1077.    Dim v          As tagVECTOR2
  1078.    Dim w          As tagVECTOR2
  1079.  
  1080.    u.x = 1
  1081.    u.y = 1
  1082.  
  1083.    v.x = 3
  1084.    v.y = 3
  1085.  
  1086.    Tmp1 = Tmp1 & "First vector (u) is (" & u.x & "," & u.y & ")" & Chr$(13) & Chr$(13)
  1087.    Tmp1 = Tmp1 & "Second vector (v) is (" & v.x & "," & v.y & ")" & Chr$(13) & Chr$(13)
  1088.  
  1089.    Call cV2Add(u, v, w)
  1090.    Tmp1 = Tmp1 & "Sum of (u)+(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1091.    Call cV2Sub(u, v, w)
  1092.    Tmp1 = Tmp1 & "Sub of (u)-(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1093.    Call cV2Mul(u, v, w)
  1094.    Tmp1 = Tmp1 & "Mul of (u).(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1095.    k = cV2Dot(u, v)
  1096.    Tmp1 = Tmp1 & "Dot of (u),(v) is " & k & Chr$(13) & Chr$(13)
  1097.    k = cV2Length(v)
  1098.    Tmp1 = Tmp1 & "Length (v) is " & k & Chr$(13) & Chr$(13)
  1099.    k = cV2SegmentLength(u, v)
  1100.    Tmp1 = Tmp1 & "Segmented Length from (u) to (v) is " & k & Chr$(13) & Chr$(13)
  1101.    Call cV2Normalized(u)
  1102.    Tmp1 = Tmp1 & "Normalization of (u) is (" & u.x & "," & u.y & ")" & Chr$(13) & Chr$(13)
  1103.               
  1104.    cStartBasisTimer
  1105.    For i = 1 To ItemFile
  1106.       Call cV2Add(u, v, w)
  1107.    Next i
  1108.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1109.  
  1110.    Label3.Caption = Tmp1
  1111.  
  1112. End Sub
  1113.  
  1114. Private Sub Test3D()
  1115.  
  1116.    Dim Tmp1       As String
  1117.  
  1118.    Dim i          As Integer
  1119.    Dim j          As Integer
  1120.    Dim k          As Double
  1121.  
  1122.    Dim u          As tagVECTOR3
  1123.    Dim v          As tagVECTOR3
  1124.    Dim w          As tagVECTOR3
  1125.  
  1126.    u.x = 1
  1127.    u.y = 1
  1128.    u.z = 1
  1129.  
  1130.    v.x = 3
  1131.    v.y = 3
  1132.    v.z = 3
  1133.  
  1134.    Tmp1 = Tmp1 & "First vector (u) is (" & u.x & "," & u.y & "," & u.z & ")" & Chr$(13) & Chr$(13)
  1135.    Tmp1 = Tmp1 & "Second vector (v) is (" & v.x & "," & v.y & "," & v.z & ")" & Chr$(13) & Chr$(13)
  1136.  
  1137.    Call cV3Add(u, v, w)
  1138.    Tmp1 = Tmp1 & "Sum of (u)+(v) = (w) is (" & w.x & "," & w.y & "," & w.z & ")" & Chr$(13) & Chr$(13)
  1139.    Call cV3Sub(u, v, w)
  1140.    Tmp1 = Tmp1 & "Sub of (u)-(v) = (w) is (" & w.x & "," & w.y & "," & w.z & ")" & Chr$(13) & Chr$(13)
  1141.    Call cV3Mul(u, v, w)
  1142.    Tmp1 = Tmp1 & "Mul of (u).(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1143.    k = cV3Dot(u, v)
  1144.    Tmp1 = Tmp1 & "Dot of (u),(v) is " & k & Chr$(13) & Chr$(13)
  1145.    k = cV3Length(v)
  1146.    Tmp1 = Tmp1 & "Length (v) is " & k & Chr$(13) & Chr$(13)
  1147.    k = cV3SegmentLength(u, v)
  1148.    Tmp1 = Tmp1 & "Segmented Length from (u) to (v) is " & k & Chr$(13) & Chr$(13)
  1149.    Call cV3Normalized(u)
  1150.    Tmp1 = Tmp1 & "Normalization of (u) is (" & u.x & "," & u.y & "," & u.z & ")" & Chr$(13) & Chr$(13)
  1151.               
  1152.    cStartBasisTimer
  1153.    For i = 1 To ItemFile
  1154.       Call cV3Add(u, v, w)
  1155.    Next i
  1156.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1157.  
  1158.    Label3.Caption = Tmp1
  1159.  
  1160. End Sub
  1161.  
  1162. Private Sub TestAddI()
  1163.  
  1164.    Dim Title      As String
  1165.    Dim Tmp        As String
  1166.    Dim Tmp1       As String
  1167.    Dim Tmp2       As String
  1168.    Dim i          As Integer
  1169.    Dim j          As Integer
  1170.    Dim m          As Double
  1171.    
  1172.    ReDim array(ItemMean) As Integer
  1173.    Randomize Timer
  1174.  
  1175.    For i = LBound(array) To UBound(array)
  1176.       array(i) = 0
  1177.       List1.AddItem "" & array(i)
  1178.    Next i
  1179.  
  1180.    j = cAddI(array(), 10)
  1181.  
  1182.    For i = LBound(array) To UBound(array)
  1183.       List2.AddItem "" & array(i)
  1184.    Next i
  1185.  
  1186.    Tmp1 = Tmp1 & "Add 10 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  1187.    Tmp1 = Tmp1 & "Add 10 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  1188.  
  1189.    cStartBasisTimer
  1190.    For i = 1 To ItemFile
  1191.       j = cAddI(array(), 1)
  1192.    Next i
  1193.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1194.  
  1195.    Label3.Caption = Tmp1
  1196.  
  1197. End Sub
  1198.  
  1199. Private Sub TestAddTime()
  1200.  
  1201.    Dim Title      As String
  1202.    Dim Tmp        As String
  1203.    Dim Tmp1       As String
  1204.    Dim Tmp2       As String
  1205.    Dim i          As Integer
  1206.    Dim j          As Integer
  1207.    
  1208.    Tmp1 = "The time 10:00 + 02:01 is " & cIntoHour(cAddTime(600 + 121)) & Chr$(13) & Chr$(13)
  1209.  
  1210.    Tmp1 = Tmp1 & "The time 23:58 + 01:02 is " & cIntoHour(cAddTime(1438 + 62)) & Chr$(13) & Chr$(13)
  1211.  
  1212.    cStartBasisTimer
  1213.    For i = 1 To Item
  1214.       j = cAddTime(1439 + 2)
  1215.    Next i
  1216.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1217.  
  1218.    Label3.Caption = Tmp1
  1219.  
  1220. End Sub
  1221.  
  1222. Private Sub TestAddTwoTimes()
  1223.  
  1224.    Dim Title      As String
  1225.    Dim Tmp        As String
  1226.    Dim Tmp1       As String
  1227.    Dim Tmp2       As String
  1228.    Dim i          As Integer
  1229.    Dim j          As Integer
  1230.    
  1231.    Tmp1 = "The time '10:00:58' + '02:01:02' is '" & cAddTwoTimes("10:00:58", "02:01:02") & "'" & Chr$(13) & Chr$(13)
  1232.  
  1233.    Tmp1 = Tmp1 & "The time '23:58:58' + '01:02:01' is '" & cAddTwoTimes("23:58:58", "01:02:01") & "'" & Chr$(13) & Chr$(13)
  1234.  
  1235.    cStartBasisTimer
  1236.    For i = 1 To Item
  1237.       Tmp2 = cAddTwoTimes("23:58:58", "01:02:01")
  1238.    Next i
  1239.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1240.  
  1241.    Label3.Caption = Tmp1
  1242.  
  1243. End Sub
  1244.  
  1245. Private Sub TestAlign()
  1246.  
  1247.    Dim Title      As String
  1248.    Dim Tmp        As String
  1249.    Dim Tmp1       As String
  1250.    Dim Tmp2       As String
  1251.    Dim i          As Integer
  1252.    Dim j          As Integer
  1253.    
  1254.    Tmp = "T2WIN-16"
  1255.    Title = "Left Align of [" & Tmp & "] is " & Chr$(13) & "'"
  1256.  
  1257.    Tmp1 = Title & cAlign(Tmp, -1, 30) & "'" & Chr$(13) & Chr$(13)
  1258.    
  1259.    Title = "Center Align of [" & Tmp & "] is " & Chr$(13) & "'"
  1260.  
  1261.    Tmp1 = Tmp1 & Title & cAlign(Tmp, 0, 30) & "'" & Chr$(13) & Chr$(13)
  1262.    
  1263.    Title = "Right Align of [" & Tmp & "] is " & Chr$(13) & "'"
  1264.  
  1265.    Tmp1 = Tmp1 & Title & cAlign(Tmp, 1, 30) & "'" & Chr$(13) & Chr$(13)
  1266.    
  1267.    j = cTimerOpen()
  1268.    i = cTimerStart(j)
  1269.    For i = 1 To Item
  1270.       Tmp2 = cAlign(Tmp, 0, 30)
  1271.    Next i
  1272.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cTimerRead(j) & " ms"
  1273.    i = cTimerClose(j)
  1274.  
  1275.    Label3.Caption = Tmp1
  1276.  
  1277. End Sub
  1278.  
  1279. Private Sub TestAllSubDir()
  1280.    Dim N       As Integer
  1281.    Dim Tmp     As String
  1282.    N = -1
  1283.    Tmp = cAllSubDirectories("C:", N)
  1284.    Label3.Caption = "Directories founden on drive C are " & N & Chr$(13) & Tmp
  1285. End Sub
  1286.  
  1287. Private Sub TestAndToken()
  1288.  
  1289.    Dim Title      As String
  1290.    Dim Tmp        As String
  1291.    Dim Tmp1       As String
  1292.    Dim Tmp2       As String
  1293.    Dim i          As Integer
  1294.    Dim j          As Integer
  1295.  
  1296.    Tmp = "FOX|OVER|THE"
  1297.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1298.    Tmp1 = "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndToken(Tmp2, Tmp), "ok", "ko") & Chr$(13) & Chr$(13)
  1299.    
  1300.    Tmp = "quick|jumps|the"
  1301.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1302.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndToken(Tmp2, Tmp), "ok", "ko") & Chr$(13) & Chr$(13)
  1303.  
  1304.    Tmp = "FOX\OVER\THE"
  1305.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1306.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1307.    
  1308.    Tmp = "quick\jumps\the"
  1309.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1310.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1311.  
  1312.    Tmp = "FOX/OVER/THE"
  1313.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1314.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1315.    
  1316.    Tmp = "quick\JUMPS\the"
  1317.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1318.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1319.  
  1320.    Tmp = LCase$("quick\jumps\THE")
  1321.    Tmp2 = LCase$("THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG")
  1322.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1323.  
  1324.    cStartBasisTimer
  1325.    For i = 1 To Item
  1326.       j = cAndToken(Tmp2, Tmp)
  1327.    Next i
  1328.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1329.  
  1330.    Label3.Caption = Tmp1
  1331.  
  1332. End Sub
  1333.  
  1334. Private Sub TestArrayLB()
  1335.  
  1336.    Dim Title      As String
  1337.    Dim Tmp        As String
  1338.    Dim Tmp1       As String
  1339.    Dim Tmp2       As String
  1340.    Dim i          As Long
  1341.    Dim j          As Long
  1342.  
  1343.    Dim n1         As Long
  1344.    Dim n2         As Long
  1345.  
  1346.    Dim m1         As Integer
  1347.    Dim m2         As Integer
  1348.  
  1349.    m1 = -99
  1350.    m2 = 99
  1351.  
  1352.    ReDim AD(m1 To m2) As String
  1353.  
  1354.    Randomize Timer
  1355.  
  1356.    ' initialization because we use ReDim without Global definition
  1357.    For i = m1 To m2
  1358.       If ((Abs(i) Mod 2) = 0) Then
  1359.          AD(i) = i & " " & Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd))
  1360.       Else
  1361.          AD(i) = i & " " & Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd))
  1362.       End If
  1363.    Next i
  1364.  
  1365.    Tmp1 = "Memory array (" & m1 & " To " & m2 & ") has been created and initialized." & Chr$(13)
  1366.  
  1367.    j = cArrayToListBox(List1.hWnd, AD())
  1368.    j = cArrayToListBox(List2.hWnd, AD())
  1369.  
  1370.    List1.Clear
  1371.    
  1372.    cStartBasisTimer
  1373.    For i = 1 To Item
  1374.       j = cArrayToListBox(List1.hWnd, AD())
  1375.    Next i
  1376.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1377.  
  1378.    Label3.Caption = Tmp1
  1379.  
  1380. End Sub
  1381.  
  1382. Private Sub TestArrayOnDisk()
  1383.  
  1384.    Dim Title      As String
  1385.    Dim Tmp        As String
  1386.    Dim Tmp1       As String
  1387.    Dim Tmp2       As String
  1388.    Dim i          As Long
  1389.    Dim j          As Long
  1390.  
  1391.    Dim n1         As Long
  1392.    Dim n2         As Long
  1393.  
  1394.    Dim m1         As Integer
  1395.    Dim m2         As Integer
  1396.  
  1397.    m1 = -9999
  1398.    m2 = 9999
  1399.  
  1400.    ReDim AD(m1 To m2, 0 To 1) As Long
  1401.  
  1402.    Randomize Timer
  1403.  
  1404.    n1 = Int(1234567890 * Rnd)
  1405.    n2 = -Int(987654321 * Rnd)
  1406.  
  1407.    ' initialization because we use ReDim without Global definition
  1408.    For i = m1 To m2
  1409.       AD(i, 0) = n1
  1410.       AD(i, 1) = n2
  1411.    Next i
  1412.  
  1413.    Tmp = "test.dat"
  1414.  
  1415.    Tmp1 = "Memory array (" & m1 & " To " & m2 & ", 0 To 1) has been created and initialized." & Chr$(13)
  1416.    Tmp1 = Tmp1 + "File '" & Tmp & "' will be used." & Chr$(13)
  1417.    Tmp1 = Tmp1 + "Each (i,0) is init with '" & n1 & "'." & Chr$(13)
  1418.    Tmp1 = Tmp1 + "Each (i,1) is init with '" & n2 & "'." & Chr$(13) & Chr$(13)
  1419.  
  1420.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & Chr$(13)
  1421.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & Chr$(13)
  1422.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & Chr$(13)
  1423.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & Chr$(13) & Chr$(13)
  1424.  
  1425.    Tmp1 = Tmp1 + "Put array on disk is '" & cArrayOnDisk(Tmp, AD(), PUT_ARRAY_ON_DISK) & "' bytes." & Chr$(13) & Chr$(13)
  1426.  
  1427.    Tmp1 = Tmp1 + "Memory array (" & m1 & " To " & m2 & ", 0 To 1) has been zero'ed." & Chr$(13) & Chr$(13)
  1428.  
  1429.    For i = m1 To m2
  1430.       AD(i, 0) = 0
  1431.       AD(i, 1) = 0
  1432.    Next i
  1433.  
  1434.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & Chr$(13)
  1435.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & Chr$(13)
  1436.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & Chr$(13)
  1437.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & Chr$(13) & Chr$(13)
  1438.  
  1439.    Tmp1 = Tmp1 + "Get array on disk is '" & cArrayOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK) & "' bytes." & Chr$(13) & Chr$(13)
  1440.  
  1441.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & Chr$(13)
  1442.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & Chr$(13)
  1443.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & Chr$(13)
  1444.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & Chr$(13) & Chr$(13)
  1445.  
  1446.    cStartBasisTimer
  1447.    For i = 1 To Item
  1448.       j = cArrayOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK)
  1449.    Next i
  1450.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1451.  
  1452.    Label3.Caption = Tmp1
  1453.  
  1454. End Sub
  1455.  
  1456. Private Sub TestArrayStringOnDisk()
  1457.  
  1458.    Dim Title      As String
  1459.    Dim Tmp        As String
  1460.    Dim Tmp1       As String
  1461.    Dim Tmp2       As String
  1462.    Dim i          As Long
  1463.    Dim j          As Long
  1464.  
  1465.    Dim n1         As Long
  1466.    Dim n2         As Long
  1467.  
  1468.    Dim r          As Long
  1469.  
  1470.    Dim m1         As Integer
  1471.    Dim m2         As Integer
  1472.  
  1473.    m1 = -999
  1474.    m2 = 4000
  1475.  
  1476.    ReDim AD(m1 To m2) As String
  1477.    
  1478.    ' initialization because we use ReDim without Global definition
  1479.    'For i = m1 To m2
  1480.    '   AD(i) = Space$(256)
  1481.    'Next i
  1482.  
  1483.    Randomize Timer
  1484.  
  1485.    Tmp = "c:\autoexec.bat"
  1486.    Tmp2 = "c:\autoexec.tab"
  1487.  
  1488.    Tmp1 = "Reading file '" & Tmp & "' into AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK, r) & "'" & Chr$(13)
  1489.    Tmp1 = Tmp1 & "   The 7 (on " & r & ") first lines in array are : " & Chr$(13) & Chr$(13)
  1490.    
  1491.    For i = 0 To 6
  1492.       Tmp1 = Tmp1 & AD(m1 + i) & Chr$(13)
  1493.    Next i
  1494.  
  1495.    Tmp1 = Tmp1 & Chr$(13) & "Writing file '" & Tmp2 & "' from AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp2, AD(), PUT_ARRAY_ON_DISK, r) & "'" & Chr$(13) & Chr$(13)
  1496.  
  1497.    Tmp1 = Tmp1 & "Reading file '" & Tmp2 & "' into AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp2, AD(), GET_ARRAY_ON_DISK, r) & "'" & Chr$(13)
  1498.    Tmp1 = Tmp1 & "   The 7 (on " & r & ") first lines in array are : " & Chr$(13) & Chr$(13)
  1499.  
  1500.    For i = 0 To 6
  1501.       Tmp1 = Tmp1 & AD(m1 + i) & Chr$(13)
  1502.    Next i
  1503.  
  1504.    cStartBasisTimer
  1505.    For i = 1 To Item
  1506.       j = cArrayStringOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK, r)
  1507.    Next i
  1508.    Tmp1 = Tmp1 & Chr$(13) & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1509.  
  1510.    Label3.Caption = Tmp1
  1511.  
  1512. End Sub
  1513.  
  1514. Private Sub TestAscTime()
  1515.  
  1516.    Dim Title      As String
  1517.    Dim Tmp        As String
  1518.    Dim Tmp1       As String
  1519.    Dim Tmp2       As String
  1520.    Dim i          As Integer
  1521.    Dim j          As Integer
  1522.    Dim k          As Long
  1523.    Dim ErrCode    As Integer
  1524.  
  1525.    Tmp1 = ""
  1526.  
  1527.    For i = LNG_FRENCH To LNG_POLISH
  1528.       Tmp1 = Tmp1 + cGetAscTime(i) & Chr$(13)
  1529.    Next i
  1530.  
  1531.    Tmp1 = Tmp1 + Chr$(13)
  1532.  
  1533.    cStartBasisTimer
  1534.    For i = 1 To Item
  1535.       Tmp = cGetAscTime(LNG_FRENCH)
  1536.    Next i
  1537.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1538.  
  1539.    Label3.Caption = Tmp1
  1540.  
  1541. End Sub
  1542.  
  1543. Private Sub TestAtoR()
  1544.    Dim Tmp        As Integer
  1545.    Dim Tmp1       As String
  1546.    Tmp = Year(Int(Now))
  1547.    Tmp1 = Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & Chr$(13)
  1548.    Tmp = Year(Int(Now)) - 1
  1549.    Tmp1 = Tmp1 & Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & Chr$(13)
  1550.    Tmp = Year(Int(Now)) + 1
  1551.    Tmp1 = Tmp1 & Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & Chr$(13)
  1552.    Label3.Caption = Tmp1
  1553. End Sub
  1554.  
  1555. Private Sub TestBaseConversion()
  1556.  
  1557.    Dim Title      As String
  1558.    Dim Tmp        As String
  1559.    Dim Tmp1       As String
  1560.    Dim Tmp2       As String
  1561.    Dim i          As Integer
  1562.    Dim j          As Integer
  1563.    Dim k          As Long
  1564.    Dim ErrCode    As Integer
  1565.  
  1566.    Tmp1 = ""
  1567.  
  1568.    For i = 2 To 20
  1569.       Tmp1 = Tmp1 + "Convert '1234567' base 10 to base " & i & " is " & cBaseConversion("1234567", 10, i) & Chr$(13)
  1570.    Next i
  1571.  
  1572.    Tmp1 = Tmp1 + Chr$(13)
  1573.  
  1574.    cStartBasisTimer
  1575.    For i = 1 To Item
  1576.       Tmp = cBaseConversion("123456789", 10, 10)
  1577.    Next i
  1578.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1579.  
  1580.    Label3.Caption = Tmp1
  1581.  
  1582. End Sub
  1583.  
  1584. Private Sub TestBetween()
  1585.  
  1586.    Dim Title      As String
  1587.    Dim Tmp        As String
  1588.    Dim Tmp1       As String
  1589.    Dim Tmp2       As String
  1590.    Dim i          As Integer
  1591.    Dim j          As Integer
  1592.    
  1593.  
  1594.    Tmp1 = "601 is not between 720 and 840 => " & cBetween(601, 720, 840) & Chr$(13) & Chr$(13)
  1595.  
  1596.    Tmp1 = Tmp1 & "601 is between 540 and 602 => " & cBetween(601, 540, 602) & Chr$(13) & Chr$(13)
  1597.  
  1598.    Tmp1 = Tmp1 & "61 is between 61 and 62 => " & cBetween(61, 61, 62) & Chr$(13) & Chr$(13)
  1599.  
  1600.    cStartBasisTimer
  1601.    For i = 1 To Item
  1602.       j = cBetween(720, 0, 1439)
  1603.    Next i
  1604.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1605.  
  1606.    Label3.Caption = Tmp1
  1607.  
  1608. End Sub
  1609.  
  1610. Private Sub TestBig()
  1611.  
  1612.    Dim Title      As String
  1613.    Dim Tmp        As String
  1614.    Dim Tmp1       As String
  1615.    Dim Tmp2       As String
  1616.    Dim Tmp3       As String
  1617.    Dim i          As Integer
  1618.    Dim j          As Integer
  1619.    Dim m1         As Double
  1620.    Dim m2         As Double
  1621.  
  1622.    m1 = 123456789012345#
  1623.    m2 = 987654321098765#
  1624.    
  1625.    Tmp1 = Tmp1 & "Double     : Add '" & m1 & "' and '" & m2 & "' is '" & (m1 + m2) & "'" & Chr$(13)
  1626.    Tmp1 = Tmp1 & "Big Double : Add '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigAdd(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13)
  1627.    Tmp1 = Tmp1 & "Big Num    : Add '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_ADD, LTrim$(Str$(m2))) & "'" & Chr$(13) & Chr$(13)
  1628.    
  1629.    Tmp1 = Tmp1 & "Double     : Sub '" & m1 & "' and '" & m2 & "' is '" & (m1 - m2) & "'" & Chr$(13)
  1630.    Tmp1 = Tmp1 & "Big Double : Sub '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigSub(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13)
  1631.    Tmp1 = Tmp1 & "Big Num    : Sub '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_SUB, LTrim$(Str$(m2))) & "'" & Chr$(13) & Chr$(13)
  1632.  
  1633.    Tmp1 = Tmp1 & "Double     : Mul '" & m1 & "' and '" & m2 & "' is '" & (m1 * m2) & "'" & Chr$(13)
  1634.    Tmp1 = Tmp1 & "Big Double : Mul '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigMul(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13)
  1635.    Tmp1 = Tmp1 & "Big Num    : Mul '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_MUL, LTrim$(Str$(m2))) & "'" & Chr$(13) & Chr$(13)
  1636.  
  1637.    Tmp1 = Tmp1 & "Double     : Div '" & m1 & "' and '" & m2 & "' is '" & (m1 / m2) & "'" & Chr$(13)
  1638.    Tmp1 = Tmp1 & "Big Double : Div '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigDiv(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13) & Chr$(13)
  1639.  
  1640.    cStartBasisTimer
  1641.    For i = 1 To ItemFile
  1642.       Tmp3 = cBigAdd(cMKN(Str$(m1)), cMKN(Str$(m2)))
  1643.    Next i
  1644.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1645.  
  1646.    Label3.Caption = Tmp1
  1647.  
  1648. End Sub
  1649.  
  1650. Private Sub TestBigNum()
  1651.  
  1652.    Dim Title      As String
  1653.    Dim Tmp        As String
  1654.    Dim Tmp1       As String
  1655.    Dim Tmp2       As String
  1656.    Dim Tmp3       As String
  1657.    Dim Tmp4       As String
  1658.    Dim i          As Integer
  1659.    Dim j          As Integer
  1660.    Dim m          As Double
  1661.  
  1662.    Tmp3 = "00001234567890123456789012345678901"
  1663.    Tmp4 = "00009876543210987654321098765432100"
  1664.  
  1665.    Tmp1 = Tmp1 & "X = " & Tmp3 & Chr$(13)
  1666.    Tmp1 = Tmp1 & "Y = " & Tmp4 & Chr$(13) & Chr$(13)
  1667.  
  1668.    Tmp = Tmp3
  1669.    Tmp2 = Tmp4
  1670.    Tmp1 = Tmp1 & "'(X) + (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13)
  1671.    Tmp = Tmp3
  1672.    Tmp2 = "-" & Tmp4
  1673.    Tmp1 = Tmp1 & "'(X) + (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13)
  1674.    Tmp = "-" & Tmp3
  1675.    Tmp2 = Tmp4
  1676.    Tmp1 = Tmp1 & "'(-X) + (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13)
  1677.    Tmp = "-" & Tmp3
  1678.    Tmp2 = "-" & Tmp4
  1679.    Tmp1 = Tmp1 & "'(-X) + (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13) & Chr$(13)
  1680.  
  1681.    Tmp = Tmp3
  1682.    Tmp2 = Tmp4
  1683.    Tmp1 = Tmp1 & "'(X) - (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13)
  1684.    Tmp = Tmp3
  1685.    Tmp2 = "-" & Tmp4
  1686.    Tmp1 = Tmp1 & "'(X) - (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13)
  1687.    Tmp = "-" & Tmp3
  1688.    Tmp2 = Tmp4
  1689.    Tmp1 = Tmp1 & "'(-X) - (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13)
  1690.    Tmp = "-" & Tmp3
  1691.    Tmp2 = "-" & Tmp4
  1692.    Tmp1 = Tmp1 & "'(-X) - (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13) & Chr$(13)
  1693.    
  1694.    Tmp = Tmp3
  1695.    Tmp2 = Tmp4
  1696.    Tmp1 = Tmp1 & "'(X) * (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13)
  1697.    Tmp = Tmp3
  1698.    Tmp2 = "-" & Tmp4
  1699.    Tmp1 = Tmp1 & "'(X) * (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13)
  1700.    Tmp = "-" & Tmp3
  1701.    Tmp2 = Tmp4
  1702.    Tmp1 = Tmp1 & "'(-X) * (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13)
  1703.    Tmp = "-" & Tmp3
  1704.    Tmp2 = "-" & Tmp4
  1705.    Tmp1 = Tmp1 & "'(-X) * (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13) & Chr$(13)
  1706.  
  1707.    cStartBasisTimer
  1708.    For i = 1 To ItemFile
  1709.       Tmp3 = cBigNum(Tmp, BIG_ADD, Tmp2)
  1710.    Next i
  1711.    Tmp1 = Tmp1 & "speed for " & ItemFile & " ADD = " & (cReadBasisTimer() / 1000) & Chr$(13)
  1712.  
  1713.    cStartBasisTimer
  1714.    For i = 1 To ItemFile
  1715.       Tmp3 = cBigNum(Tmp, BIG_SUB, Tmp2)
  1716.    Next i
  1717.    Tmp1 = Tmp1 & "speed for " & ItemFile & " SUB = " & (cReadBasisTimer() / 1000) & Chr$(13)
  1718.  
  1719.    cStartBasisTimer
  1720.    For i = 1 To ItemFile
  1721.       Tmp3 = cBigNum(Tmp, BIG_MUL, Tmp2)
  1722.    Next i
  1723.    Tmp1 = Tmp1 & "speed for " & ItemFile & " MUL = " & (cReadBasisTimer() / 1000)
  1724.  
  1725.    Label3.Caption = Tmp1
  1726.  
  1727. End Sub
  1728.  
  1729. Private Sub TestBigString01()
  1730.    
  1731.    Dim Tmp1       As String
  1732.    Dim m1         As Integer
  1733.    Dim p1         As Integer
  1734.  
  1735.    Tmp1 = "Create a big string of 512 Kb is "
  1736.    m1 = cHugeStrCreate(512 * 1024&)
  1737.    Tmp1 = Tmp1 & IIf(m1 <> 0, "OK", "ko") & " (" & m1 & ")" & Chr$(13)
  1738.  
  1739.    Tmp1 = Tmp1 & "Size (" & m1 & ") is " & cHugeStrSize(m1) & Chr$(13)
  1740.  
  1741.    Tmp1 = Tmp1 & "Memory Address (" & m1 & ") is " & cHugeStrAddress(m1) & Chr$(13)
  1742.  
  1743.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1744.  
  1745.    Tmp1 = Tmp1 & "Add '1234567890' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "1234567890"), "OK", "ko") & Chr$(13)
  1746.  
  1747.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1748.  
  1749.    Tmp1 = Tmp1 & "Pointer (" & m1 & ") is " & cHugeStrGetWP(m1) & Chr$(13)
  1750.  
  1751.    Tmp1 = Tmp1 & "Add 'This is a test' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "This is a test"), "OK", "ko") & Chr$(13)
  1752.  
  1753.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1754.  
  1755.    Tmp1 = Tmp1 & "Pointer (" & m1 & ") is " & cHugeStrGetWP(m1) & Chr$(13)
  1756.  
  1757.    Tmp1 = Tmp1 & "Blocks (" & m1 & ") is " & cHugeStrBlocks(m1) & Chr$(13)
  1758.  
  1759.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1760.  
  1761.    Tmp1 = Tmp1 & "Set pointer (" & m1 & ") to 7 is " & cHugeStrSetWP(m1, 7) & Chr$(13)
  1762.  
  1763.    Tmp1 = Tmp1 & "Add 'THIS IS A TEST' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "THIS IS A TEST"), "OK", "ko") & Chr$(13)
  1764.  
  1765.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1766.  
  1767.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1768.  
  1769.    Tmp1 = Tmp1 & "Append 'append one' (" & m1 & ") is " & IIf(cHugeStrAppend(m1, "append one"), "OK", "ko") & Chr$(13)
  1770.  
  1771.    Tmp1 = Tmp1 & "Append 'append two' (" & m1 & ") is " & IIf(cHugeStrAppend(m1, "append two"), "OK", "ko") & Chr$(13)
  1772.  
  1773.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1774.  
  1775.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1776.  
  1777.    Tmp1 = Tmp1 & "Set pointer (" & m1 & ") to " & cHugeStrLength(m1) & " is " & cHugeStrSetWP(m1, cHugeStrLength(m1)) & Chr$(13)
  1778.  
  1779.    Tmp1 = Tmp1 & "Add 'AZERTYUIOP' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "AZERTYUIOP"), "OK", "ko") & Chr$(13)
  1780.  
  1781.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1782.  
  1783.    Tmp1 = Tmp1 & "Mid (" & m1 & ") is '" & cHugeStrMid(m1, 3, 10) & "'" & Chr$(13)
  1784.  
  1785.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1786.  
  1787.    Tmp1 = Tmp1 & "Clear (" & m1 & ") is " & IIf(cHugeStrClear(m1), "OK", "ko") & Chr$(13)
  1788.  
  1789.    Tmp1 = Tmp1 & "Free a big string of 512 Kb is "
  1790.    p1 = cHugeStrFree(m1)
  1791.    Tmp1 = Tmp1 & IIf(p1 <> 0, "OK", "ko") & " (" & p1 & ")" & Chr$(13)
  1792.  
  1793.    Label3.Caption = Tmp1
  1794.  
  1795. End Sub
  1796.  
  1797. Private Sub TestBlockCharFromLeft()
  1798.  
  1799.    Dim Title      As String
  1800.    Dim Tmp        As String
  1801.    Dim Tmp1       As String
  1802.    Dim Tmp2       As String
  1803.    Dim i          As Integer
  1804.    Dim j          As Integer
  1805.    
  1806.  
  1807.    Tmp = Text1.Text
  1808.    Title = "The 3,7,1 blocks from left of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  1809.  
  1810.    Tmp = Text1.Text
  1811.  
  1812.    Tmp1 = Title & "3:" & cBlockCharFromLeft(Tmp, 3) & " | 7:" & cBlockCharFromLeft(Tmp, 7) & " | 1:" & cBlockCharFromLeft(Tmp, 1) & Chr$(13) & Chr$(13)
  1813.  
  1814.    cStartBasisTimer
  1815.    For i = 1 To Item
  1816.       Tmp2 = cBlockCharFromLeft(Tmp, 2)
  1817.    Next i
  1818.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1819.  
  1820.    Label3.Caption = Tmp1
  1821.    
  1822. End Sub
  1823.  
  1824. Private Sub TestBlockCharFromRight()
  1825.  
  1826.    Dim Title      As String
  1827.    Dim Tmp        As String
  1828.    Dim Tmp1       As String
  1829.    Dim Tmp2       As String
  1830.    Dim i          As Integer
  1831.    Dim j          As Integer
  1832.    
  1833.  
  1834.    Tmp = Text1.Text
  1835.    Title = "The 3,7,1 blocks from right of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  1836.  
  1837.    Tmp = Text1.Text
  1838.  
  1839.    Tmp1 = Title & "3:" & cBlockCharFromRight(Tmp, 3) & " | 7:" & cBlockCharFromRight(Tmp, 7) & " | 1:" & cBlockCharFromRight(Tmp, 1) & Chr$(13) & Chr$(13)
  1840.  
  1841.    cStartBasisTimer
  1842.    For i = 1 To Item
  1843.       Tmp2 = cBlockCharFromRight(Tmp, 2)
  1844.    Next i
  1845.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1846.  
  1847.    Label3.Caption = Tmp1
  1848.  
  1849. End Sub
  1850.  
  1851. Private Sub TestChangeChars()
  1852.  
  1853.    Dim Title      As String
  1854.    Dim Tmp        As String
  1855.    Dim Tmp1       As String
  1856.    Dim Tmp2       As String
  1857.    Dim i          As Integer
  1858.    Dim j          As Integer
  1859.    
  1860.  
  1861.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  1862.    Title = "Change 'AZM' into 'qyc' of [" & Tmp & "] is "
  1863.  
  1864.    Call cChangeChars(Tmp, "AZM", "qyc")
  1865.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  1866.  
  1867.    cStartBasisTimer
  1868.    For i = 1 To Item
  1869.       Call cChangeChars(Tmp, "AZM", "qyc")
  1870.    Next i
  1871.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1872.  
  1873.    Label3.Caption = Tmp1
  1874.  
  1875. End Sub
  1876.  
  1877. Private Sub TestChangeCharsUntil()
  1878.  
  1879.    Dim Title      As String
  1880.    Dim Tmp        As String
  1881.    Dim Tmp1       As String
  1882.    Dim Tmp2       As String
  1883.    Dim i          As Integer
  1884.    Dim j          As Integer
  1885.    
  1886.  
  1887.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  1888.    Title = "Change 'AZM' into 'qyc' of [" & Tmp & "] until 'N' is "
  1889.  
  1890.    Call cChangeCharsUntil(Tmp, "AZM", "qyc", "N")
  1891.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  1892.  
  1893.    cStartBasisTimer
  1894.    For i = 1 To Item
  1895.       Call cChangeCharsUntil(Tmp, "AZM", "qyc", "N")
  1896.    Next i
  1897.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1898.  
  1899.    Label3.Caption = Tmp1
  1900.  
  1901. End Sub
  1902.  
  1903. Private Sub TestChDir()
  1904.  
  1905.    Dim Title      As String
  1906.    Dim Tmp        As String
  1907.    Dim Tmp1       As String
  1908.    Dim Tmp2       As String
  1909.    Dim i          As Integer
  1910.    Dim j          As Integer
  1911.    Dim k          As Long
  1912.    Dim ErrCode    As Integer
  1913.  
  1914.    Tmp1 = ""
  1915.    
  1916.    For i = 1 To 26
  1917.       k = cChDir(Chr$(64 + i) & ":\")
  1918.       If (k = True) Then
  1919.          Tmp1 = Tmp1 & "ChDir to \ on '" & Chr$(64 + i) & ":' is " & IIf(k = True, "succesfull", "not successfull") & Chr$(13)
  1920.       End If
  1921.    Next i
  1922.  
  1923.    Tmp1 = Tmp1 + Chr$(13)
  1924.  
  1925.    cStartBasisTimer
  1926.    For i = 1 To Item
  1927.       k = cChDir("C:\")
  1928.    Next i
  1929.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1930.  
  1931.    Label3.Caption = Tmp1
  1932.  
  1933. End Sub
  1934.  
  1935. Private Sub TestChDrive()
  1936.  
  1937.    Dim Title      As String
  1938.    Dim Tmp        As String
  1939.    Dim Tmp1       As String
  1940.    Dim Tmp2       As String
  1941.    Dim i          As Integer
  1942.    Dim j          As Integer
  1943.    Dim k          As Long
  1944.    Dim ErrCode    As Integer
  1945.  
  1946.    Tmp1 = ""
  1947.    
  1948.    For i = 1 To 26
  1949.       k = cChDrive(Chr$(64 + i))
  1950.       If (k = True) Then
  1951.          Tmp1 = Tmp1 & "ChDrive on '" & Chr$(64 + i) & ":' is " & IIf(k = True, "succesfull", "not successfull") & Chr$(13)
  1952.       End If
  1953.    Next i
  1954.  
  1955.    Tmp1 = Tmp1 + Chr$(13)
  1956.  
  1957.    cStartBasisTimer
  1958.    For i = 1 To Item
  1959.       k = cChDrive("C")
  1960.    Next i
  1961.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1962.  
  1963.    Label3.Caption = Tmp1
  1964.  
  1965. End Sub
  1966.  
  1967. Private Sub TestCheckChars()
  1968.  
  1969.    Dim Title      As String
  1970.    Dim Tmp        As String
  1971.    Dim Tmp1       As String
  1972.    Dim Tmp2       As String
  1973.    Dim i          As Integer
  1974.    Dim j          As Integer
  1975.    
  1976.  
  1977.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  1978.    Title = "Check 'A','Z' in [" & Tmp & "] is "
  1979.    Tmp1 = Title & IIf(cCheckChars(Tmp, "AZ"), "all present", "not all present") & Chr$(13) & Chr$(13)
  1980.  
  1981.    Title = Tmp1 & "Check 'a','Z' in [" & Tmp & "] is "
  1982.    Tmp1 = Title & IIf(cCheckChars(Tmp, "aZ"), "all present", "not all present") & Chr$(13) & Chr$(13)
  1983.  
  1984.    cStartBasisTimer
  1985.    For i = 1 To Item
  1986.       j = cCheckChars(Tmp, "AZ")
  1987.    Next i
  1988.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1989.  
  1990.    Label3.Caption = Tmp1
  1991.  
  1992. End Sub
  1993.  
  1994. Private Sub TestCheckNumericity()
  1995.  
  1996.    Dim Title      As String
  1997.    Dim Tmp        As String
  1998.    Dim Tmp1       As String
  1999.    Dim Tmp2       As String
  2000.    Dim i          As Integer
  2001.    Dim j          As Integer
  2002.    
  2003.  
  2004.    Tmp = Text1.Text
  2005.    Title = "[" & Tmp & "] is "
  2006.  
  2007.    Tmp1 = Title & IIf(cCheckNumericity(Tmp), "Numeric", " not Numeric") & Chr$(13) & Chr$(13)
  2008.  
  2009.    cStartBasisTimer
  2010.    For i = 1 To Item
  2011.       j = cCheckNumericity(Tmp)
  2012.    Next i
  2013.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2014.  
  2015.    Label3.Caption = Tmp1
  2016.  
  2017. End Sub
  2018.  
  2019. Private Sub TestCheckTime()
  2020.  
  2021.    Dim Title      As String
  2022.    Dim Tmp        As String
  2023.    Dim Tmp1       As String
  2024.    Dim Tmp2       As String
  2025.    Dim i          As Integer
  2026.    Dim j          As Integer
  2027.    
  2028.  
  2029.    Tmp1 = "10:01 is not between 12:00 and 14:00 => " & cCheckTime(601, 720, 840) & Chr$(13) & Chr$(13)
  2030.  
  2031.    Tmp1 = Tmp1 & "10:01 is between 09:00 and 10:02 => " & cCheckTime(601, 540, 602) & Chr$(13) & Chr$(13)
  2032.  
  2033.    Tmp1 = Tmp1 & "01:01 is between 23:58 and 02:45 => " & cCheckTime(61, 1438, 165) & Chr$(13) & Chr$(13)
  2034.  
  2035.    cStartBasisTimer
  2036.    For i = 1 To Item
  2037.       j = cCheckTime(720, 0, 1439)
  2038.    Next i
  2039.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2040.  
  2041.    Label3.Caption = Tmp1
  2042.  
  2043. End Sub
  2044.  
  2045. Private Sub TestCloseAllEditForm()
  2046.    If (cCloseAllEditForm() = True) Then
  2047.       Label3.Caption = "CloseAllEditForm SUCCESS"
  2048.    Else
  2049.       Label3.Caption = "CloseAllEditForm FAIL"
  2050.    End If
  2051. End Sub
  2052.  
  2053. Private Sub TestClusterSize()
  2054.  
  2055.    Dim Title      As String
  2056.    Dim Tmp        As String
  2057.    Dim Tmp1       As String
  2058.    Dim Tmp2       As String
  2059.    Dim i          As Integer
  2060.    Dim j          As Integer
  2061.    Dim k          As Long
  2062.    Dim ErrCode    As Integer
  2063.  
  2064.    Tmp1 = ""
  2065.    
  2066.    For i = 1 To 26
  2067.       k = cGetDiskClusterSize(Chr$(64 + i))
  2068.       If (k <> True) Then
  2069.          Tmp1 = Tmp1 & "DiskClusterSize for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  2070.       End If
  2071.    Next i
  2072.  
  2073.    Tmp1 = Tmp1 + Chr$(13)
  2074.  
  2075.    cStartBasisTimer
  2076.    For i = 1 To Item
  2077.       k = cGetDiskClusterSize("C")
  2078.    Next i
  2079.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2080.  
  2081.    Label3.Caption = Tmp1
  2082.  
  2083. End Sub
  2084.  
  2085. Private Sub TestCnvAE()
  2086.  
  2087.    Dim Title      As String
  2088.    Dim Tmp        As String
  2089.    Dim Tmp1       As String
  2090.    Dim Tmp2       As String
  2091.    Dim i          As Integer
  2092.    Dim j          As Integer
  2093.    
  2094.  
  2095.    Tmp = Text1.Text
  2096.    Title = "ASCII -> EBCDIC of '" & Tmp & "' is "
  2097.    Call cCnvASCIItoEBCDIC(Tmp)
  2098.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  2099.  
  2100.    Title = "EBCDIC -> ASCII of '" & Tmp & "' is "
  2101.    Call cCnvEBCDICtoASCII(Tmp)
  2102.    Tmp1 = Tmp1 & Title & Tmp & Chr$(13) & Chr$(13)
  2103.  
  2104.    cStartBasisTimer
  2105.    For i = 1 To Item
  2106.       Call cCnvASCIItoEBCDIC(Tmp)
  2107.    Next i
  2108.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2109.  
  2110.    Label3.Caption = Tmp1
  2111.  
  2112. End Sub
  2113.  
  2114. Private Sub TestCombination()
  2115.  
  2116.    Dim Title      As String
  2117.    Dim Tmp        As String
  2118.    Dim Tmp1       As String
  2119.    Dim Tmp2       As String
  2120.    Dim Tmp3       As String
  2121.    Dim i          As Integer
  2122.    Dim j          As Integer
  2123.    Dim m1         As Double
  2124.    Dim m2         As Double
  2125.  
  2126.    For i = 0 To 10
  2127.       Tmp1 = Tmp1 & "Combination C(42, " & i & ") is '" & cCombination(42, i) & "'" & Chr$(13)
  2128.    Next i
  2129.  
  2130.    Tmp1 = Tmp1 & Chr$(13)
  2131.  
  2132.    For i = 42 To 32 Step -1
  2133.       Tmp1 = Tmp1 & "Combination C(42, " & i & ") is '" & cCombination(42, i) & "'" & Chr$(13)
  2134.    Next i
  2135.  
  2136.    Tmp1 = Tmp1 & Chr$(13)
  2137.  
  2138.    cStartBasisTimer
  2139.    For i = 1 To ItemFile
  2140.       m1 = cCombination(42, 6)
  2141.    Next i
  2142.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2143.  
  2144.    Label3.Caption = Tmp1
  2145.  
  2146. End Sub
  2147.  
  2148. Private Sub TestCompact()
  2149.  
  2150.    Dim Title      As String
  2151.    Dim Tmp        As String
  2152.    Dim Tmp1       As String
  2153.    Dim Tmp2       As String
  2154.    Dim i          As Integer
  2155.    Dim j          As Integer
  2156.  
  2157.    Tmp = "30313233343536373839"
  2158.  
  2159.    Title = "Compact '" & Tmp & "' is "
  2160.    Tmp1 = Title & cCompact(Tmp) & Chr$(13) & Chr$(13)
  2161.  
  2162.    cStartBasisTimer
  2163.    For i = 1 To Item
  2164.       Tmp2 = cCompact(Tmp)
  2165.    Next i
  2166.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2167.  
  2168.    Label3.Caption = Tmp1
  2169.  
  2170. End Sub
  2171.  
  2172. Private Sub TestCompress()
  2173.  
  2174.    Dim Title      As String
  2175.    Dim Tmp        As String
  2176.    Dim Tmp1       As String
  2177.    Dim Tmp2       As String
  2178.    Dim i          As Integer
  2179.    Dim j          As Integer
  2180.    
  2181.  
  2182.    Tmp1 = "A " & Chr$(9) & "BC  "
  2183.  
  2184.    Tmp = Tmp1
  2185.    Title = "Filter chr(0),chr(9),chr(32) in [" & Tmp & "] is "
  2186.    Tmp1 = Title & cCompress(Tmp) & Chr$(13) & Chr$(13)
  2187.  
  2188.    cStartBasisTimer
  2189.    For i = 1 To Item
  2190.       Tmp2 = cCompress(Tmp)
  2191.    Next i
  2192.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2193.  
  2194.    Label3.Caption = Tmp1
  2195.  
  2196. End Sub
  2197.  
  2198. Private Sub TestCompressTab()
  2199.  
  2200.    Dim Title      As String
  2201.    Dim Tmp        As String
  2202.    Dim Tmp1       As String
  2203.    Dim Tmp2       As String
  2204.    Dim i          As Integer
  2205.    Dim j          As Integer
  2206.    
  2207.  
  2208.    Tmp = "A      BC   DEF  GHIJ  "
  2209.    Title = "Compress tab (3 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  2210.    Tmp1 = Title & cCompressTab(Tmp, 3) & Chr$(13) & Chr$(13)
  2211.  
  2212.    Tmp = "A      BC   DEF  GHIJ  "
  2213.    Title = "Compress tab (2 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  2214.    Tmp1 = Tmp1 & Title & cCompressTab(Tmp, 2) & Chr$(13) & Chr$(13)
  2215.  
  2216.    cStartBasisTimer
  2217.    For i = 1 To Item
  2218.       Tmp2 = cCompressTab(Tmp, 3)
  2219.    Next i
  2220.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2221.  
  2222.    Label3.Caption = Tmp1
  2223.  
  2224. End Sub
  2225.  
  2226. Private Sub TestControl3D()
  2227.  
  2228.    Dim i    As Integer
  2229.    Dim j    As Integer
  2230.    Dim r    As tagRECT
  2231.  
  2232.    Dim Tmp1 As String
  2233.  
  2234.    Call cGetCtlRect(Label3, r)
  2235.  
  2236.    Tmp1 = "Coordinates (in pixels) of this label are :" & Chr$(13) & Chr$(13)
  2237.  
  2238.    Tmp1 = Tmp1 & "Left : " & r.Left & Chr$(13)
  2239.    Tmp1 = Tmp1 & "Top : " & r.Top & Chr$(13)
  2240.    Tmp1 = Tmp1 & "Right : " & r.Right & Chr$(13)
  2241.    Tmp1 = Tmp1 & "Bottom : " & r.Bottom & Chr$(13) & Chr$(13)
  2242.  
  2243.    Call cGetCtlRectTwips(Label3, r)
  2244.  
  2245.    Tmp1 = Tmp1 & "Coordinates (in twips) of this label are :" & Chr$(13) & Chr$(13)
  2246.  
  2247.    Tmp1 = Tmp1 & "Left : " & r.Left & Chr$(13)
  2248.    Tmp1 = Tmp1 & "Top : " & r.Top & Chr$(13)
  2249.    Tmp1 = Tmp1 & "Right : " & r.Right & Chr$(13)
  2250.    Tmp1 = Tmp1 & "Bottom : " & r.Bottom & Chr$(13)
  2251.  
  2252.    Label3.Caption = Tmp1
  2253.  
  2254.    For i = 1 To 11
  2255.  
  2256.       c3D Label3, 0, 0
  2257.       DoEvents
  2258.       j = cSleep(140)
  2259.  
  2260.       c3D Label3, 1, 0
  2261.       DoEvents
  2262.       j = cSleep(140)
  2263.  
  2264.    Next i
  2265.  
  2266. End Sub
  2267.  
  2268. Private Sub TestCountDirectories()
  2269.  
  2270.    Dim Title      As String
  2271.    Dim Tmp        As String
  2272.    Dim Tmp1       As String
  2273.    Dim Tmp2       As String
  2274.    Dim i          As Integer
  2275.    Dim j          As Integer
  2276.    Dim k          As Integer
  2277.    
  2278.    Tmp1 = ""
  2279.    Tmp1 = Tmp1 & "Number of directories in C:\ is " & cCountDirectories("C:\*.*") & Chr$(13) & Chr$(13)
  2280.    Tmp1 = Tmp1 & "Number of directories in D:\ is " & cCountDirectories("D:\*.*") & Chr$(13) & Chr$(13)
  2281.    Tmp1 = Tmp1 & "Number of directories in E:\ is " & cCountDirectories("E:\*.*") & Chr$(13) & Chr$(13)
  2282.  
  2283.    cStartBasisTimer
  2284.    For i = 1 To 10
  2285.       k = cCountDirectories("C:\*.*")
  2286.    Next i
  2287.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  2288.  
  2289.    Label3.Caption = Tmp1
  2290.  
  2291. End Sub
  2292.  
  2293. Private Sub TestCountFiles()
  2294.  
  2295.    Dim Title      As String
  2296.    Dim Tmp        As String
  2297.    Dim Tmp1       As String
  2298.    Dim Tmp2       As String
  2299.    Dim i          As Integer
  2300.    Dim j          As Integer
  2301.    Dim k          As Integer
  2302.    
  2303.    Tmp1 = ""
  2304.    Tmp1 = Tmp1 & "Number of files in C:\ is " & cCountFiles("C:\*.*") & Chr$(13) & Chr$(13)
  2305.    Tmp1 = Tmp1 & "Number of files in D:\ is " & cCountFiles("D:\*.*") & Chr$(13) & Chr$(13)
  2306.    Tmp1 = Tmp1 & "Number of files in E:\ is " & cCountFiles("E:\*.*") & Chr$(13) & Chr$(13)
  2307.  
  2308.    cStartBasisTimer
  2309.    For i = 1 To 10
  2310.       k = cCountFiles("C:\*.*")
  2311.    Next i
  2312.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  2313.  
  2314.    Label3.Caption = Tmp1
  2315.  
  2316. End Sub
  2317.  
  2318. Private Sub TestCountI()
  2319.  
  2320.    Dim Title      As String
  2321.    Dim Tmp        As String
  2322.    Dim Tmp1       As String
  2323.    Dim Tmp2       As String
  2324.    Dim i          As Integer
  2325.    Dim j          As Integer
  2326.    Dim m          As Integer
  2327.    
  2328.    ReDim array(20) As Integer
  2329.    Call cRndInit(-1)
  2330.  
  2331.    For i = LBound(array) To UBound(array)
  2332.       array(i) = cRndI()
  2333.       List1.AddItem "" & array(i)
  2334.    Next i
  2335.  
  2336.    Tmp1 = Tmp1 & "Count '" & array(5) & "' is " & cCountI(array(), array(5)) & Chr$(13)
  2337.    Tmp1 = Tmp1 & "Count '" & array(10) & "' is " & cCountI(array(), array(10)) & Chr$(13)
  2338.    Tmp1 = Tmp1 & "Count '" & array(15) & "' is " & cCountI(array(), array(15)) & Chr$(13)
  2339.    Tmp1 = Tmp1 & "Count '" & array(20) & "' is " & cCountI(array(), array(20)) & Chr$(13)
  2340.    Tmp1 = Tmp1 & "Count '" & -1234 & "' is " & cCountI(array(), -1234) & Chr$(13)
  2341.    
  2342.    cStartBasisTimer
  2343.    For i = 1 To ItemFile
  2344.       j = cCountI(array(), array(1))
  2345.    Next i
  2346.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2347.  
  2348.    Label3.Caption = Tmp1
  2349.  
  2350. End Sub
  2351.  
  2352. Private Sub TestCreateAndFill()
  2353.  
  2354.    Dim Title      As String
  2355.    Dim Tmp        As String
  2356.    Dim Tmp1       As String
  2357.    Dim Tmp2       As String
  2358.    Dim i          As Integer
  2359.    Dim j          As Integer
  2360.    
  2361.  
  2362.    Tmp = Text1.Text
  2363.    Title = "Create and Fill a string of 40 chars with [" & Tmp & "] is "
  2364.  
  2365.    Tmp1 = Title & cCreateAndFill(40, Tmp) & Chr$(13) & Chr$(13)
  2366.  
  2367.    cStartBasisTimer
  2368.    For i = 1 To Item
  2369.       Tmp2 = cCreateAndFill(40, Tmp)
  2370.    Next i
  2371.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2372.  
  2373.    Label3.Caption = Tmp1
  2374.  
  2375. End Sub
  2376.  
  2377. Private Sub TestCreateBits()
  2378.  
  2379.    Dim Title      As String
  2380.    Dim Tmp        As String
  2381.    Dim Tmp1       As String
  2382.    Dim Tmp2       As String
  2383.    Dim i          As Integer
  2384.    Dim j          As Integer
  2385.    
  2386.  
  2387.    Tmp = Text1.Text
  2388.    Title = "Create a string for 1024 bits is "
  2389.  
  2390.    Tmp1 = Title & Len(cCreateBits(1024)) & " bytes" & Chr$(13) & Chr$(13)
  2391.  
  2392.    cStartBasisTimer
  2393.    For i = 1 To Item
  2394.       Tmp2 = cCreateBits(1024)
  2395.    Next i
  2396.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2397.  
  2398.    Label3.Caption = Tmp1
  2399.  
  2400. End Sub
  2401.  
  2402. Private Sub TestCustomControls()
  2403.    Dim i       As Integer
  2404.    Dim N       As Integer
  2405.    Dim Tmp1    As String
  2406.    N = frmT2W.Count - 1
  2407.    For i = 0 To N
  2408.       Tmp1 = Tmp1 + "Control name is '" & cGetCtlNameIndex(frmT2W.Controls(i)) & "'     Control Class is '" & cGetCtlClass(frmT2W.Controls(i)) & "'" + Chr$(13)
  2409.    Next i
  2410.    Label3.Caption = Tmp1
  2411. End Sub
  2412.  
  2413. Private Sub TestDAL(Management As Integer)
  2414.  
  2415.    Dim Tmp        As String
  2416.    Dim ErrCode    As Integer
  2417.    Dim DA         As tagDISKARRAY
  2418.  
  2419.    ErrCode = cMakeDir("c:\t2w_tmp")
  2420.  
  2421.    DA.nFilename = "c:\t2w_tmp\dalong.tmp"
  2422.    DA.nType = DA_LONG
  2423.    DA.nIsTyped = False
  2424.    DA.nRows = 100
  2425.    DA.nCols = 100
  2426.    DA.nSheets = 2
  2427.  
  2428.    Select Case Management
  2429.       Case True      'create
  2430.          ErrCode = cDACreate(DA, True)
  2431.       Case False     'use
  2432.          ErrCode = cDACreate(DA, False)
  2433.       Case 1         'clear all
  2434.          ErrCode = cDACreate(DA, False)
  2435.          If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  2436.       Case 2         'clear sheet 2
  2437.          ErrCode = cDACreate(DA, False)
  2438.          If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  2439.       Case 3         'clear last row
  2440.          ErrCode = cDACreate(DA, False)
  2441.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  2442.       Case 4         'clear last col
  2443.          ErrCode = cDACreate(DA, False)
  2444.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  2445.       Case 5         'clear last row in all sheets
  2446.          ErrCode = cDACreate(DA, False)
  2447.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  2448.       Case 6         'clear last col in all sheets
  2449.          ErrCode = cDACreate(DA, False)
  2450.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  2451.    End Select
  2452.  
  2453.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  2454.  
  2455.    If (ErrCode = True) Then
  2456.       
  2457.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & Chr$(13)
  2458.       Tmp = Tmp & "DA.Signature    = " & DA.signature & Chr$(13)
  2459.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & Chr$(13)
  2460.       Tmp = Tmp & "DA.nType        = " & DA.nType & Chr$(13)
  2461.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & Chr$(13)
  2462.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & Chr$(13)
  2463.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & Chr$(13)
  2464.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & Chr$(13)
  2465.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & Chr$(13)
  2466.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & Chr$(13)
  2467.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & Chr$(13)
  2468.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & Chr$(13)
  2469.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & Chr$(13)
  2470.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & Chr$(13)
  2471.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & Chr$(13) & Chr$(13)
  2472.  
  2473.       If (Management = True) Then
  2474.  
  2475.          Call cDAPut(DA, 1, 1, 1, 12345)
  2476.          Call cDAPut(DA, 1, DA.nCols, 1, 56789)
  2477.          Call cDAPut(DA, DA.nRows, 1, 1, 54321)
  2478.          Call cDAPut(DA, DA.nRows, DA.nCols, 1, 98765)
  2479.    
  2480.          Call cDAPut(DA, 1, 1, 2, 12345678)
  2481.          Call cDAPut(DA, 1, DA.nCols, 2, 34567890)
  2482.          Call cDAPut(DA, DA.nRows, 1, 2, 123456789)
  2483.          Call cDAPut(DA, DA.nRows, DA.nCols, 2, 987654321)
  2484.  
  2485.       End If
  2486.    
  2487.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cDAGet(DA, 1, 1, 1) & "   , time : " & DA.rTime & Chr$(13)
  2488.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, Value : " & cDAGet(DA, 1, DA.nCols, 1) & "   , time : " & DA.rTime & Chr$(13)
  2489.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, Value : " & cDAGet(DA, DA.nRows, 1, 1) & "   , time : " & DA.rTime & Chr$(13)
  2490.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, Value : " & cDAGet(DA, DA.nRows, DA.nCols, 1) & "   , time : " & DA.rTime & Chr$(13)
  2491.    
  2492.       Tmp = Tmp & "R:1  , C:1  , D:2, Value : " & cDAGet(DA, 1, 1, 2) & "   , time : " & DA.rTime & Chr$(13)
  2493.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, Value : " & cDAGet(DA, 1, DA.nCols, 2) & "   , time : " & DA.rTime & Chr$(13)
  2494.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, Value : " & cDAGet(DA, DA.nRows, 1, 2) & "   , time : " & DA.rTime & Chr$(13)
  2495.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, Value : " & cDAGet(DA, DA.nRows, DA.nCols, 2) & "   , time : " & DA.rTime & Chr$(13)
  2496.  
  2497.    End If
  2498.  
  2499.    Call cDAClose(DA, False)
  2500.  
  2501.    Label3.Caption = Tmp
  2502.  
  2503. End Sub
  2504.  
  2505. Private Sub TestDAStr(Management As Integer)
  2506.  
  2507.    Dim Tmp        As String
  2508.    Dim ErrCode    As Integer
  2509.    Dim DA         As tagDISKARRAY
  2510.  
  2511.    ErrCode = cMakeDir("c:\t2w_tmp")
  2512.  
  2513.    DA.nFilename = "c:\t2w_tmp\dastring.tmp"
  2514.    DA.nType = 50
  2515.    DA.nIsTyped = False
  2516.    DA.nRows = 100
  2517.    DA.nCols = 100
  2518.    DA.nSheets = 2
  2519.  
  2520.    Select Case Management
  2521.       Case True      'create
  2522.          ErrCode = cDACreate(DA, True)
  2523.       Case False     'use
  2524.          ErrCode = cDACreate(DA, False)
  2525.       Case 1         'clear all
  2526.          ErrCode = cDACreate(DA, False)
  2527.          If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  2528.       Case 2         'clear sheet 2
  2529.          ErrCode = cDACreate(DA, False)
  2530.          If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  2531.       Case 3         'clear last row
  2532.          ErrCode = cDACreate(DA, False)
  2533.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  2534.       Case 4         'clear last col
  2535.          ErrCode = cDACreate(DA, False)
  2536.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  2537.       Case 5         'clear last row in all sheets
  2538.          ErrCode = cDACreate(DA, False)
  2539.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  2540.       Case 6         'clear last col in all sheets
  2541.          ErrCode = cDACreate(DA, False)
  2542.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  2543.    End Select
  2544.  
  2545.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  2546.  
  2547.    If (ErrCode = True) Then
  2548.       
  2549.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & Chr$(13)
  2550.       Tmp = Tmp & "DA.Signature    = " & DA.signature & Chr$(13)
  2551.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & Chr$(13)
  2552.       Tmp = Tmp & "DA.nType        = " & DA.nType & Chr$(13)
  2553.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & Chr$(13)
  2554.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & Chr$(13)
  2555.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & Chr$(13)
  2556.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & Chr$(13)
  2557.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & Chr$(13)
  2558.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & Chr$(13)
  2559.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & Chr$(13)
  2560.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & Chr$(13)
  2561.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & Chr$(13)
  2562.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & Chr$(13)
  2563.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & Chr$(13) & Chr$(13)
  2564.  
  2565.       If (Management = True) Then
  2566.       
  2567.          Call cDAPut(DA, 1, 1, 1, "D:1, ABCDEFGHIJ")
  2568.          Call cDAPut(DA, 1, DA.nCols, 1, "D:1, abcdefghij")
  2569.          Call cDAPut(DA, DA.nRows, 1, 1, "D:1, OPQRSTUVWXYZ")
  2570.          Call cDAPut(DA, DA.nRows, DA.nCols, 1, "D:1, oprqstuvwxyz")
  2571.    
  2572.          Call cDAPut(DA, 1, 1, 2, "D:2, 1234567890")
  2573.          Call cDAPut(DA, 1, DA.nCols, 2, "D:2, 0987654321")
  2574.          Call cDAPut(DA, DA.nRows, 1, 2, "D:2, 12345ABCDE")
  2575.          Call cDAPut(DA, DA.nRows, DA.nCols, 2, "D:2, VWXYZ54321")
  2576.  
  2577.       End If
  2578.    
  2579.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & Trim$(cDAGet(DA, 1, 1, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2580.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, Value : " & Trim$(cDAGet(DA, 1, DA.nCols, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2581.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, Value : " & Trim$(cDAGet(DA, DA.nRows, 1, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2582.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, Value : " & Trim$(cDAGet(DA, DA.nRows, DA.nCols, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2583.    
  2584.       Tmp = Tmp & "R:1  , C:1  , D:2, Value : " & Trim$(cDAGet(DA, 1, 1, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2585.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, Value : " & Trim$(cDAGet(DA, 1, DA.nCols, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2586.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, Value : " & Trim$(cDAGet(DA, DA.nRows, 1, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2587.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, Value : " & Trim$(cDAGet(DA, DA.nRows, DA.nCols, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2588.  
  2589.    End If
  2590.  
  2591.    Call cDAClose(DA, False)
  2592.  
  2593.    Label3.Caption = Tmp
  2594.    
  2595. End Sub
  2596.  
  2597. Private Sub TestDate()
  2598.  
  2599.    Dim Title      As String
  2600.    Dim Tmp        As String
  2601.    Dim Tmp1       As String
  2602.    Dim Tmp2       As String
  2603.    Dim i          As Integer
  2604.    Dim j          As Integer
  2605.  
  2606.    Dim nYear      As Integer
  2607.    Dim nMonth     As Integer
  2608.    Dim nDay       As Integer
  2609.  
  2610.    Dim nNow       As Long
  2611.  
  2612.    nNow = Int(Now)
  2613.  
  2614.    nYear = Year(nNow)
  2615.    nMonth = Month(nNow)
  2616.    nDay = Day(nNow)
  2617.  
  2618.    Tmp1 = "Today is the '" & Format$(Int(Now), "short date") & "'" & Chr$(13) & Chr$(13)
  2619.  
  2620.    Tmp1 = Tmp1 & "Day of the week (ISO, U.S., Special) is (" & cDayOfWeek(nYear, nMonth, nDay, True) & ", " & cDayOfWeek(nYear, nMonth, nDay, False) & ", " & cDayOfWeek(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2621.  
  2622.    Tmp1 = Tmp1 & "Day of the year is '" & cDayOfYear(nYear, nMonth, nDay) & "'" & Chr$(13) & Chr$(13)
  2623.  
  2624.    Tmp1 = Tmp1 & "Week of the year (ISO, U.S., Special) is (" & cWeekOfYear(nYear, nMonth, nDay, True) & ", " & cWeekOfYear(nYear, nMonth, nDay, False) & ", " & cWeekOfYear(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2625.  
  2626.    nNow = cDateToScalar(nYear, nMonth, nDay)
  2627.    Tmp1 = Tmp1 & "Scalar day is '" & nNow & "'" & Chr$(13)
  2628.    nYear = 0
  2629.    nMonth = 0
  2630.    nDay = 0
  2631.    Call cScalarToDate(nNow, nYear, nMonth, nDay)
  2632.    Tmp1 = Tmp1 & "Year : " & nYear & ", Month : " & nMonth & ", Day : " & nDay & Chr$(13) & Chr$(13) & Chr$(13)
  2633.  
  2634.    nNow = Int(Now)
  2635.  
  2636.    nYear = Year(nNow)
  2637.    nMonth = 1
  2638.    nDay = 1
  2639.  
  2640.    Tmp1 = Tmp1 & "First Day is the '" & Format$(DateSerial(nYear, nMonth, nDay), "short date") & "'" & Chr$(13) & Chr$(13)
  2641.  
  2642.    Tmp1 = Tmp1 & "Day of the week (ISO, U.S., Special) is (" & cDayOfWeek(nYear, nMonth, nDay, True) & ", " & cDayOfWeek(nYear, nMonth, nDay, False) & ", " & cDayOfWeek(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2643.  
  2644.    Tmp1 = Tmp1 & "Day of the year is '" & cDayOfYear(nYear, nMonth, nDay) & "'" & Chr$(13) & Chr$(13)
  2645.  
  2646.    Tmp1 = Tmp1 & "Week of the year (ISO, U.S., Special) is (" & cWeekOfYear(nYear, nMonth, nDay, True) & ", " & cWeekOfYear(nYear, nMonth, nDay, False) & ", " & cWeekOfYear(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2647.  
  2648.    nNow = cDateToScalar(nYear, nMonth, nDay)
  2649.    Tmp1 = Tmp1 & "Scalar day is '" & nNow & "'" & Chr$(13)
  2650.    nYear = 0
  2651.    nMonth = 0
  2652.    nDay = 0
  2653.    Call cScalarToDate(nNow, nYear, nMonth, nDay)
  2654.    Tmp1 = Tmp1 & "Year : " & nYear & ", Month : " & nMonth & ", Day : " & nDay & Chr$(13) & Chr$(13)
  2655.  
  2656.    Label3.Caption = Tmp1
  2657.  
  2658. End Sub
  2659.  
  2660. Private Sub TestDAType(Management As Integer)
  2661.  
  2662.    Dim Tmp        As String
  2663.    Dim ErrCode    As Integer
  2664.    Dim DA         As tagDISKARRAY
  2665.    Dim TE         As tagTASKENTRY
  2666.  
  2667.    ErrCode = cMakeDir("c:\t2w_tmp")
  2668.  
  2669.    DA.nFilename = "c:\t2w_tmp\datype.tmp"
  2670.    DA.nType = Len(TE)
  2671.    DA.nIsTyped = True
  2672.    DA.nRows = 100
  2673.    DA.nCols = 100
  2674.    DA.nSheets = 2
  2675.  
  2676.    Select Case Management
  2677.       Case True      'create
  2678.          ErrCode = cDACreate(DA, True)
  2679.       Case False     'use
  2680.          ErrCode = cDACreate(DA, False)
  2681.       Case 1         'clear all
  2682.          ErrCode = cDACreate(DA, False)
  2683.          If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  2684.       Case 2         'clear sheet 2
  2685.          ErrCode = cDACreate(DA, False)
  2686.          If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  2687.       Case 3         'clear last row
  2688.          ErrCode = cDACreate(DA, False)
  2689.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  2690.       Case 4         'clear last col
  2691.          ErrCode = cDACreate(DA, False)
  2692.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  2693.       Case 5         'clear last row in all sheets
  2694.          ErrCode = cDACreate(DA, False)
  2695.          If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  2696.       Case 6         'clear last col in all sheets
  2697.          ErrCode = cDACreate(DA, False)
  2698.          If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  2699.       End Select
  2700.  
  2701.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  2702.  
  2703.    If (ErrCode = True) Then
  2704.       
  2705.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & Chr$(13)
  2706.       Tmp = Tmp & "DA.Signature    = " & DA.signature & Chr$(13)
  2707.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & Chr$(13)
  2708.       Tmp = Tmp & "DA.nType        = " & DA.nType & Chr$(13)
  2709.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & Chr$(13)
  2710.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & Chr$(13)
  2711.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & Chr$(13)
  2712.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & Chr$(13)
  2713.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & Chr$(13)
  2714.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & Chr$(13)
  2715.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & Chr$(13)
  2716.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & Chr$(13)
  2717.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & Chr$(13)
  2718.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & Chr$(13)
  2719.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & Chr$(13) & Chr$(13)
  2720.  
  2721.       If (Management = True) Then
  2722.    
  2723.          ErrCode = cTasks(TE, True)
  2724.          Call cDAPutType(DA, 1, 1, 1, TE)
  2725.          ErrCode = cTasks(TE, False)
  2726.          Call cDAPutType(DA, 1, DA.nCols, 1, TE)
  2727.          ErrCode = cTasks(TE, False)
  2728.          Call cDAPutType(DA, DA.nRows, 1, 1, TE)
  2729.          ErrCode = cTasks(TE, False)
  2730.          Call cDAPutType(DA, DA.nRows, DA.nCols, 1, TE)
  2731.    
  2732.          ErrCode = cTasks(TE, False)
  2733.          Call cDAPutType(DA, 1, 1, 2, TE)
  2734.          ErrCode = cTasks(TE, False)
  2735.          Call cDAPutType(DA, 1, DA.nCols, 2, TE)
  2736.          ErrCode = cTasks(TE, False)
  2737.          Call cDAPutType(DA, DA.nRows, 1, 2, TE)
  2738.          ErrCode = cTasks(TE, False)
  2739.          Call cDAPutType(DA, DA.nRows, DA.nCols, 2, TE)
  2740.          
  2741.       End If
  2742.  
  2743.       Call cDAGetType(DA, 1, 1, 1, TE)
  2744.       Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2745.       Call cDAGetType(DA, 1, DA.nCols, 1, TE)
  2746.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2747.       Call cDAGetType(DA, DA.nRows, 1, 1, TE)
  2748.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2749.       Call cDAGetType(DA, DA.nRows, DA.nCols, 1, TE)
  2750.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2751.    
  2752.       Call cDAGetType(DA, 1, 1, 2, TE)
  2753.       Tmp = Tmp & "R:1  , C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2754.       Call cDAGetType(DA, 1, DA.nCols, 2, TE)
  2755.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2756.       Call cDAGetType(DA, DA.nRows, 1, 2, TE)
  2757.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2758.       Call cDAGetType(DA, DA.nRows, DA.nCols, 2, TE)
  2759.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2760.  
  2761.    End If
  2762.  
  2763.    Call cDAClose(DA, False)
  2764.  
  2765.    Label3.Caption = Tmp
  2766.    
  2767. End Sub
  2768.  
  2769. Private Sub TestDecrypt()
  2770.  
  2771.    Dim Title      As String
  2772.    Dim Tmp        As String
  2773.    Dim Tmp1       As String
  2774.    Dim Tmp2       As String
  2775.    Dim Tmp3       As String
  2776.    Dim i          As Integer
  2777.    Dim j          As Integer
  2778.    
  2779.    Tmp3 = cToHexa(Format$(76543210))
  2780.    Tmp2 = "T2WIN-16"
  2781.  
  2782.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  2783.       Tmp = cEncrypt(Tmp2, Tmp3, i)
  2784.       Tmp1 = Tmp1 & "Decrypt (level " & i & ") of [" & Tmp & "] with '?' is "
  2785.       Tmp1 = Tmp1 & "[" & cDecrypt(Tmp, Tmp3, i) & "]" & Chr$(13) & Chr$(13)
  2786.    Next i
  2787.  
  2788.    cStartBasisTimer
  2789.    For i = 1 To Item
  2790.       Tmp2 = cDecrypt(Tmp2, Tmp1, ENCRYPT_LEVEL_3)
  2791.    Next i
  2792.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2793.  
  2794.    Label3.Caption = Tmp1
  2795.  
  2796. End Sub
  2797.  
  2798. Private Sub TestDeviationI()
  2799.  
  2800.    Dim Title      As String
  2801.    Dim Tmp        As String
  2802.    Dim Tmp1       As String
  2803.    Dim Tmp2       As String
  2804.    Dim i          As Integer
  2805.    Dim j          As Integer
  2806.    Dim m          As Double
  2807.    Dim N          As Double
  2808.    
  2809.    ReDim array(ItemMean) As Integer
  2810.    Randomize Timer
  2811.  
  2812.    m = 0
  2813.    For i = LBound(array) To UBound(array)
  2814.       array(i) = Int(RandI * Rnd(1))
  2815.       m = m + array(i)
  2816.       List1.AddItem "" & array(i)
  2817.    Next i
  2818.    m = m / (UBound(array) - LBound(array) + 1)
  2819.    
  2820.    N = 0
  2821.    For i = LBound(array) To UBound(array)
  2822.       N = N + ((array(i) - m) * (array(i) - m))
  2823.    Next i
  2824.    N = (Sqr(N) / (UBound(array) - LBound(array) + 1))
  2825.  
  2826.    Tmp1 = "The Deviation of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cDeviationI(array()) & " (" & N & ")" & Chr$(13) & Chr$(13)
  2827.  
  2828.    cStartBasisTimer
  2829.    For i = 1 To ItemFile
  2830.       m = cDeviationI(array())
  2831.    Next i
  2832.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2833.  
  2834.    Label3.Caption = Tmp1
  2835.  
  2836. End Sub
  2837.  
  2838. Private Sub TestDOSGetVolLabel()
  2839.  
  2840.    Dim Title         As String
  2841.    Dim Tmp           As String
  2842.    Dim Tmp1          As String
  2843.    Dim Tmp2          As String
  2844.    Dim i             As Integer
  2845.    Dim j             As Integer
  2846.  
  2847.    For i = 1 To 4
  2848.       Tmp2 = cDOSGetVolumeLabel(Chr$(64 + i))
  2849.       If (Len(Tmp2) > 0) Then
  2850.          Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : '" & Tmp2 & "'" & Chr$(13)
  2851.       Else
  2852.          Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : no volume label" & Chr$(13)
  2853.       End If
  2854.    Next i
  2855.  
  2856.    Tmp1 = Tmp1 + Chr$(13)
  2857.  
  2858.    cStartBasisTimer
  2859.    For i = 1 To Item
  2860.       Tmp2 = cDOSGetVolumeLabel("C")
  2861.    Next i
  2862.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2863.  
  2864.    Label3.Caption = Tmp1
  2865.  
  2866. End Sub
  2867.  
  2868. Private Sub TestDOSMediaID()
  2869.  
  2870.    Dim Title         As String
  2871.    Dim Tmp           As String
  2872.    Dim Tmp1          As String
  2873.    Dim Tmp2          As String
  2874.    Dim i             As Integer
  2875.    Dim j             As Integer
  2876.  
  2877.    Dim MEDIAID       As tagMEDIAID
  2878.  
  2879.    For i = 1 To 7
  2880.       If (cDOSGetMediaID(Chr$(64 + i), MEDIAID) = True) Then
  2881.          Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : " & Chr$(13)
  2882.          Tmp1 = Tmp1 & "   SerialNumber is '" & Hex$(MEDIAID.SerialNumber) & "'" & Chr$(13)
  2883.          Tmp1 = Tmp1 & "   VolLabel is '" & MEDIAID.VolLabel & "'" & Chr$(13)
  2884.          Tmp1 = Tmp1 & "   FileSysType is '" & MEDIAID.FileSysType & "'" & Chr$(13) & Chr$(13)
  2885.       Else
  2886.          Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : no media id" & Chr$(13) & Chr$(13)
  2887.       End If
  2888.    Next i
  2889.  
  2890.    Tmp1 = Tmp1 + Chr$(13)
  2891.  
  2892.    cStartBasisTimer
  2893.    For i = 1 To Item
  2894.       j = cDOSGetMediaID("", MEDIAID)
  2895.    Next i
  2896.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2897.  
  2898.    Label3.Caption = Tmp1
  2899.  
  2900. End Sub
  2901.  
  2902. Private Sub TestDriveType()
  2903.  
  2904.    Dim Title      As String
  2905.    Dim Tmp        As String
  2906.    Dim Tmp1       As String
  2907.    Dim Tmp2       As String
  2908.    Dim i          As Integer
  2909.    Dim j          As Integer
  2910.  
  2911.    Tmp1 = ""
  2912.    
  2913.    For i = 1 To 26
  2914.       j = cGetDriveType(Chr$(64 + i))
  2915.       If (j > 0) Then
  2916.          Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is "
  2917.          Select Case j
  2918.             Case 2
  2919.                Tmp1 = Tmp1 & "removable disk" & Chr$(13)
  2920.             Case 3
  2921.                Tmp1 = Tmp1 & "fixed disk" & Chr$(13)
  2922.             Case 4
  2923.                Tmp1 = Tmp1 & "remote disk" & Chr$(13)
  2924.             Case 20
  2925.                Tmp1 = Tmp1 & "cd-rom" & Chr$(13)
  2926.          End Select
  2927.       End If
  2928.    Next i
  2929.  
  2930.    Tmp1 = Tmp1 + Chr$(13)
  2931.  
  2932.    cStartBasisTimer
  2933.    For i = 1 To Item
  2934.       j = cGetDriveType("C")
  2935.    Next i
  2936.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2937.  
  2938.    Label3.Caption = Tmp1
  2939.  
  2940. End Sub
  2941.  
  2942. Private Sub TestEncrypt()
  2943.  
  2944.    Dim Title      As String
  2945.    Dim Tmp        As String
  2946.    Dim Tmp1       As String
  2947.    Dim Tmp2       As String
  2948.    Dim Tmp3       As String
  2949.    Dim i          As Integer
  2950.    Dim j          As Integer
  2951.    
  2952.    Tmp3 = cToHexa(Format$(76543210))
  2953.    Tmp2 = "T2WIN-16"
  2954.  
  2955.    Tmp = Text1.Text
  2956.  
  2957.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  2958.       Tmp1 = Tmp1 & "Encrypt (level " & i & ") of [" & Tmp2 & "] with '?' is "
  2959.       Tmp1 = Tmp1 & "[" & cEncrypt(Tmp2, Tmp3, i) & "]" & Chr$(13) & Chr$(13)
  2960.    Next i
  2961.  
  2962.    cStartBasisTimer
  2963.    For i = 1 To Item
  2964.       Tmp2 = cEncrypt(Tmp2, Tmp1, ENCRYPT_LEVEL_3)
  2965.    Next i
  2966.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2967.  
  2968.    Label3.Caption = Tmp1
  2969.  
  2970. End Sub
  2971.  
  2972. Private Sub TestExpandTab()
  2973.  
  2974.    Dim Title      As String
  2975.    Dim Tmp        As String
  2976.    Dim Tmp1       As String
  2977.    Dim Tmp2       As String
  2978.    Dim i          As Integer
  2979.    Dim j          As Integer
  2980.  
  2981.    Tmp = "A" & Chr$(9) & "BC" & Chr$(9) & "DEF" & Chr$(9) & "GHIJ" & Chr$(9) & ""
  2982.    Title = "Expand tab (2 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  2983.    Tmp1 = Title & cExpandTab(Tmp, 2) & Chr$(13) & Chr$(13)
  2984.  
  2985.    Tmp = "A" & Chr$(9) & "BC" & Chr$(9) & "DEF" & Chr$(9) & "GHIJ" & Chr$(9) & ""
  2986.    Title = "Expand tab (4 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  2987.    Tmp1 = Tmp1 & Title & cExpandTab(Tmp, 4) & Chr$(13) & Chr$(13)
  2988.  
  2989.    cStartBasisTimer
  2990.    For i = 1 To Item
  2991.       Tmp2 = cExpandTab(Tmp, 3)
  2992.    Next i
  2993.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2994.  
  2995.    Label3.Caption = Tmp1
  2996.  
  2997. End Sub
  2998.  
  2999. Private Sub TestFileChangeChars()
  3000.  
  3001.    Dim Title      As String
  3002.    Dim Tmp        As String
  3003.    Dim Tmp1       As String
  3004.    Dim Tmp2       As String
  3005.    Dim Tmp3       As String
  3006.    Dim Tmp4       As String
  3007.    Dim i          As Integer
  3008.    Dim j          As Long
  3009.    
  3010.    Tmp1 = ""
  3011.    Tmp = "c:\autoexec.bat"
  3012.    Tmp2 = "c:\autoexec.tab"
  3013.    Tmp3 = "REM"
  3014.    Tmp4 = "rem"
  3015.  
  3016.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  3017.    Tmp1 = Tmp1 & "File Change Chars : '" & Tmp3 & "' -> '" & Tmp4 & "' in '" & Tmp2 & "' is " & cFileChangeChars(Tmp2, Tmp3, Tmp4, "c:\tmp.tmp") & Chr$(13) & Chr$(13)
  3018.  
  3019.    cStartBasisTimer
  3020.    For i = 1 To Item
  3021.       If ((i Mod 2) = 1) Then
  3022.          j = cFileChangeChars(Tmp2, Tmp3, Tmp4, "")
  3023.       Else
  3024.          j = cFileChangeChars(Tmp2, Tmp4, Tmp3, "")
  3025.       End If
  3026.    Next i
  3027.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3028.  
  3029.    Label3.Caption = Tmp1
  3030.  
  3031. End Sub
  3032.  
  3033. Private Sub TestFileCmp()
  3034.    
  3035.    Dim Title      As String
  3036.    Dim Tmp        As String
  3037.    Dim Tmp1       As String
  3038.    Dim Tmp2       As String
  3039.    Dim i          As Integer
  3040.    Dim j          As Integer
  3041.    
  3042.    Tmp1 = ""
  3043.    Tmp = "c:\autoexec.bat"
  3044.    Tmp2 = "c:\tmp\autoexec.bat"
  3045.  
  3046.    Tmp1 = Tmp1 & "Compare file attribute " & Tmp & " with " & Tmp2 & " is " & cCmpFileAttribute(Tmp, Tmp2) & Chr$(13)
  3047.    Tmp1 = Tmp1 & "Compare file size " & Tmp & " with " & Tmp2 & " is " & cCmpFileSize(Tmp, Tmp2) & Chr$(13)
  3048.    Tmp1 = Tmp1 & "Compare file time " & Tmp & " with " & Tmp2 & " is " & cCmpFileTime(Tmp, Tmp2) & Chr$(13)
  3049.    Tmp1 = Tmp1 & "Compare file contents (case sensitive) " & Tmp & " with " & Tmp2 & " is " & cCmpFileContents(Tmp, Tmp2, True) & Chr$(13)
  3050.    Tmp1 = Tmp1 & "Compare file contents (not sensitive) " & Tmp & " with " & Tmp2 & " is " & cCmpFileContents(Tmp, Tmp2, False) & Chr$(13) & Chr$(13)
  3051.  
  3052.    cStartBasisTimer
  3053.    For i = 1 To Item
  3054.       j = cCmpFileSize(Tmp, Tmp2)
  3055.    Next i
  3056.    Tmp1 = Tmp1 & "file size speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3057.  
  3058.    cStartBasisTimer
  3059.    For i = 1 To Item
  3060.       j = cCmpFileContents(Tmp, Tmp2, True)
  3061.    Next i
  3062.    Tmp1 = Tmp1 & "file contents (cs) speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3063.  
  3064.    cStartBasisTimer
  3065.    For i = 1 To Item
  3066.       j = cCmpFileContents(Tmp, Tmp2, False)
  3067.    Next i
  3068.    Tmp1 = Tmp1 & "file contents (ns) speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3069.  
  3070.    Label3.Caption = Tmp1
  3071.  
  3072. End Sub
  3073.  
  3074. Private Sub TestFileCompress()
  3075.  
  3076.    Dim Title      As String
  3077.    Dim Tmp        As String
  3078.    Dim Tmp1       As String
  3079.    Dim Tmp2       As String
  3080.    Dim Tmp3       As String
  3081.    Dim i          As Integer
  3082.    Dim j          As Long
  3083.    
  3084.    Tmp1 = ""
  3085.    Tmp = "c:\autoexec.bat"
  3086.    Tmp2 = "c:\autoexec.tb1"
  3087.    Tmp3 = "c:\autoexec.tb2"
  3088.    
  3089.    Tmp1 = Tmp1 & "File Compress '" & Tmp & "' to '" & Tmp2 & "' is " & cFileCompress(Tmp, Tmp2) & Chr$(13)
  3090.    Tmp1 = Tmp1 & "File Expand '" & Tmp2 & "' to '" & Tmp3 & "' is " & cFileExpand(Tmp2, Tmp3) & Chr$(13)
  3091.    Tmp1 = Tmp1 & "Compare file contents (not sensitive) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  3092.  
  3093.    cStartBasisTimer
  3094.    For i = 1 To Item
  3095.       j = cFileCompress(Tmp, Tmp2)
  3096.    Next i
  3097.    j = cFileExpand(Tmp2, Tmp3)
  3098.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3099.  
  3100.    Label3.Caption = Tmp1
  3101.  
  3102. End Sub
  3103.  
  3104. Private Sub TestFileCompressTab()
  3105.  
  3106.    Dim Title      As String
  3107.    Dim Tmp        As String
  3108.    Dim Tmp1       As String
  3109.    Dim Tmp2       As String
  3110.    Dim Tmp3       As String
  3111.    Dim i          As Integer
  3112.    Dim j          As Long
  3113.    
  3114.    Tmp1 = ""
  3115.    Tmp = "c:\autoexec.bat"
  3116.    Tmp2 = "c:\autoexec.tb1"
  3117.    Tmp3 = "c:\autoexec.tb2"
  3118.    For i = 1 To 4
  3119.       Tmp1 = Tmp1 & "File CompressTab (" & i & " spaces = 1 tab) " & Tmp & " to " & Tmp2 & " is " & cFileCompressTab(Tmp, Tmp2, i) & Chr$(13)
  3120.       Tmp1 = Tmp1 & "File ExpandTab (" & i & " spaces = 1 tab) " & Tmp2 & " to " & Tmp3 & " is " & cFileExpandTab(Tmp2, Tmp3, i) & Chr$(13)
  3121.       Tmp1 = Tmp1 & "Compare file contents (not sensitive) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  3122.    Next i
  3123.  
  3124.    cStartBasisTimer
  3125.    For i = 1 To Item
  3126.       j = cFileCompressTab(Tmp, Tmp2, 3)
  3127.    Next i
  3128.    j = cFileExpandTab(Tmp2, Tmp3, 3)
  3129.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3130.  
  3131.    Label3.Caption = Tmp1
  3132.  
  3133. End Sub
  3134.  
  3135. Private Sub TestFileCopy()
  3136.  
  3137.    Dim Title      As String
  3138.    Dim Tmp        As String
  3139.    Dim Tmp1       As String
  3140.    Dim Tmp2       As String
  3141.    Dim i          As Integer
  3142.    Dim j          As Long
  3143.    
  3144.    Tmp1 = ""
  3145.    Tmp = "c:\autoexec.bat"
  3146.    Tmp2 = "c:\autoexec.tab"
  3147.  
  3148.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  3149.  
  3150.    cStartBasisTimer
  3151.    For i = 1 To Item
  3152.       j = cFileCopy(Tmp, Tmp2)
  3153.    Next i
  3154.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3155.  
  3156.    Label3.Caption = Tmp1
  3157.  
  3158. End Sub
  3159.  
  3160. Private Sub TestFileCRC32()
  3161.  
  3162.    Dim Title      As String
  3163.    Dim Tmp        As String
  3164.    Dim Tmp1       As String
  3165.    Dim Tmp2       As String
  3166.    Dim i          As Integer
  3167.    Dim j          As Integer
  3168.    Dim k          As Long
  3169.    
  3170.    Tmp = "c:\config.sys"
  3171.    Title = "CRC32 for file '" & Tmp & "' is "
  3172.  
  3173.    Tmp1 = Tmp1 & Title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & Chr$(13) & Chr$(13)
  3174.  
  3175.    Tmp = "c:\autoexec.bat"
  3176.    Title = "CRC32 for file '" & Tmp & "' is "
  3177.  
  3178.    Tmp1 = Tmp1 & Title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & Chr$(13) & Chr$(13)
  3179.  
  3180.    Tmp = "c:\command.com"
  3181.    Title = "CRC32 for file '" & Tmp & "' is "
  3182.  
  3183.    Tmp1 = Tmp1 & Title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & Chr$(13) & Chr$(13)
  3184.  
  3185.    cStartBasisTimer
  3186.    For i = 1 To ItemFile
  3187.       k = cFileCRC32(Tmp, OPEN_MODE_BINARY)
  3188.    Next i
  3189.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3190.  
  3191.    Label3.Caption = Tmp1
  3192.  
  3193. End Sub
  3194.  
  3195. Private Sub TestFileEncrypt()
  3196.  
  3197.    Dim Title      As String
  3198.    Dim Tmp        As String
  3199.    Dim Tmp1       As String
  3200.    Dim Tmp2       As String
  3201.    Dim Tmp3       As String
  3202.    Dim Tmp4       As String
  3203.    Dim i          As Integer
  3204.    Dim j          As Long
  3205.    
  3206.    Tmp1 = ""
  3207.    Tmp = "c:\autoexec.bat"
  3208.    Tmp2 = "c:\ac.tb1"
  3209.    Tmp3 = "c:\ac.tb2"
  3210.    Tmp4 = cToHexa(Format$(76543210))
  3211.  
  3212.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  3213.       Tmp1 = Tmp1 & "Encrypt (level " & i & ") '" & Tmp & "' with '?' to '" & Tmp2 & "' is " & cFileEncrypt(Tmp, Tmp2, Tmp4, i) & Chr$(13)
  3214.       Tmp1 = Tmp1 & "Decrypt (level " & i & ") '" & Tmp2 & "' with '?' to '" & Tmp3 & "' is " & cFileDecrypt(Tmp2, Tmp3, Tmp4, i) & Chr$(13)
  3215.       Tmp1 = Tmp1 & "Compare (ns) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  3216.    Next i
  3217.  
  3218.    cStartBasisTimer
  3219.    For i = 1 To Item
  3220.       j = cFileEncrypt(Tmp, Tmp2, Tmp4, ENCRYPT_LEVEL_3)
  3221.    Next i
  3222.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3223.  
  3224.    Label3.Caption = Tmp1
  3225.  
  3226. End Sub
  3227.  
  3228. Private Sub TestFileFilter()
  3229.  
  3230.    Dim Title      As String
  3231.    Dim Tmp        As String
  3232.    Dim Tmp1       As String
  3233.    Dim Tmp2       As String
  3234.    Dim Tmp3       As String
  3235.    Dim i          As Integer
  3236.    Dim j          As Long
  3237.    
  3238.    Tmp1 = ""
  3239.    Tmp = "c:\autoexec.bat"
  3240.    Tmp2 = "c:\autoexec.tab"
  3241.    
  3242.    Tmp3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  3243.    Tmp3 = Tmp3 + LCase$(Tmp)
  3244.  
  3245.    Tmp1 = Tmp1 & "File Filter (A-Z, a-z) " & Tmp & " to " & Tmp2 & " is " & cFileFilter(Tmp, Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  3246.  
  3247.    cStartBasisTimer
  3248.    For i = 1 To Item
  3249.       j = cFileFilter(Tmp, Tmp2, Tmp3)
  3250.    Next i
  3251.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3252.  
  3253.    Label3.Caption = Tmp1
  3254.  
  3255. End Sub
  3256.  
  3257. Private Sub TestFileFilterNot()
  3258.  
  3259.    Dim Title      As String
  3260.    Dim Tmp        As String
  3261.    Dim Tmp1       As String
  3262.    Dim Tmp2       As String
  3263.    Dim Tmp3       As String
  3264.    Dim i          As Integer
  3265.    Dim j          As Long
  3266.    
  3267.    Tmp1 = ""
  3268.    Tmp = "c:\autoexec.bat"
  3269.    Tmp2 = "c:\autoexec.tab"
  3270.  
  3271.    Tmp3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  3272.    Tmp3 = Tmp3 + LCase$(Tmp) + " =" + Chr$(13) + Chr$(10)
  3273.    
  3274.    Tmp1 = Tmp1 & "File Filter Not in (A-Z, a-z, CR, LF, SPACE, =) " & Tmp & " to " & Tmp2 & " is " & cFileFilterNot(Tmp, Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  3275.  
  3276.    cStartBasisTimer
  3277.    For i = 1 To Item
  3278.       j = cFileFilterNot(Tmp, Tmp2, Tmp3)
  3279.    Next i
  3280.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3281.  
  3282.    Label3.Caption = Tmp1
  3283.  
  3284. End Sub
  3285.  
  3286. Private Sub TestFileGetAttrib()
  3287.  
  3288.    Dim Title      As String
  3289.    Dim Tmp        As String
  3290.    Dim Tmp1       As String
  3291.    Dim Tmp2       As String
  3292.    Dim i          As Integer
  3293.    Dim j          As Integer
  3294.    
  3295.    Dim FileAttrib As FileAttributeType
  3296.  
  3297.    Tmp1 = ""
  3298.  
  3299.    Tmp = cFilesInDirectory("*.*", True)
  3300.    j = cFileGetAttrib(Tmp, FileAttrib)
  3301.  
  3302.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3303.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3304.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3305.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.SubDir, " is SubDir", " is not SubDir") & Chr$(13)
  3306.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3307.  
  3308.    Tmp = cSubDirectory("*.*", True)
  3309.    Tmp = cSubDirectory("*.*", False)
  3310.    Tmp = cSubDirectory("*.*", False)
  3311.    j = cFileGetAttrib(Tmp, FileAttrib)
  3312.  
  3313.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3314.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3315.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3316.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.SubDir, " is SubDir", " is not SubDir") & Chr$(13)
  3317.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3318.  
  3319.    cStartBasisTimer
  3320.    For i = 1 To Item
  3321.       j = cFileGetAttrib(Tmp, FileAttrib)
  3322.    Next i
  3323.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3324.  
  3325.    Label3.Caption = Tmp1
  3326.  
  3327. End Sub
  3328.  
  3329. Private Sub TestFileLineCount()
  3330.  
  3331.    Dim Title      As String
  3332.    Dim Tmp        As String
  3333.    Dim Tmp1       As String
  3334.    Dim Tmp2       As String
  3335.    Dim Tmp3       As String
  3336.    Dim i          As Integer
  3337.    Dim j          As Long
  3338.    
  3339.    Tmp1 = ""
  3340.  
  3341.    Tmp = "C:\AUTOEXEC.BAT"
  3342.    Tmp1 = Tmp1 & "Total lines in '" & Tmp & "' are " & cFileLineCount(Tmp) & Chr$(13) & Chr$(13)
  3343.  
  3344.    Tmp = "C:\CONFIG.SYS"
  3345.    Tmp1 = Tmp1 & "Total lines in '" & Tmp & "' are " & cFileLineCount(Tmp) & Chr$(13) & Chr$(13)
  3346.  
  3347.    cStartBasisTimer
  3348.    For i = 1 To Item
  3349.       j = cFileLineCount(Tmp)
  3350.    Next i
  3351.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3352.  
  3353.    Label3.Caption = Tmp1
  3354.  
  3355. End Sub
  3356.  
  3357. Private Sub TestFileMerge()
  3358.  
  3359.    Dim Title      As String
  3360.    Dim Tmp        As String
  3361.    Dim Tmp1       As String
  3362.    Dim Tmp2       As String
  3363.    Dim Tmp3       As String
  3364.    Dim i          As Integer
  3365.    Dim j          As Long
  3366.    
  3367.    Tmp1 = ""
  3368.    Tmp = "c:\autoexec.bat"
  3369.    Tmp2 = "c:\config.sys"
  3370.    Tmp3 = "c:\merge.byt"
  3371.    
  3372.    Tmp1 = Tmp1 & "File Merge '" & Tmp & "' and '" & Tmp2 & "' to '" & Tmp3 & "' is " & cFileMerge(Tmp, Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  3373.  
  3374.    cStartBasisTimer
  3375.    For i = 1 To Item
  3376.       j = cFileMerge(Tmp, Tmp2, Tmp3)
  3377.    Next i
  3378.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3379.  
  3380.    Label3.Caption = Tmp1
  3381.  
  3382. End Sub
  3383.  
  3384. Private Sub TestFilePathExists()
  3385.  
  3386.    Dim Title      As String
  3387.    Dim Tmp        As String
  3388.    Dim Tmp1       As String
  3389.    Dim Tmp2       As String
  3390.    Dim i          As Integer
  3391.    Dim j          As Integer
  3392.    
  3393.  
  3394.    Tmp1 = "File t2win-16.dll " & IIf(cFilePathExists("t2win-16.dll") = True, "found", "not found") & Chr$(13) & Chr$(13)
  3395.  
  3396.    Tmp1 = Tmp1 & "Path \windows " & IIf(cFilePathExists("\windows") = True, "found", "not found") & Chr$(13) & Chr$(13)
  3397.  
  3398.    Tmp1 = Tmp1 & "Path \windows\wintime " & IIf(cFilePathExists("\windows\wintime") = True, "found", "not found") & Chr$(13) & Chr$(13)
  3399.  
  3400.    cStartBasisTimer
  3401.    For i = 1 To Item
  3402.       j = cFilePathExists("t2win-16.dll")
  3403.    Next i
  3404.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3405.  
  3406.    Label3.Caption = Tmp1
  3407.  
  3408. End Sub
  3409.  
  3410. Private Sub TestFileResetAllAttrib()
  3411.  
  3412.    Dim Title      As String
  3413.    Dim Tmp        As String
  3414.    Dim Tmp1       As String
  3415.    Dim Tmp2       As String
  3416.    Dim i          As Integer
  3417.    Dim j          As Integer
  3418.    
  3419.    Dim FileAttrib As FileAttributeType
  3420.  
  3421.    Tmp1 = ""
  3422.    Tmp = "TEST.DAT"
  3423.  
  3424.    Call CreateFile
  3425.  
  3426.    FileAttrib.Archive = False
  3427.    FileAttrib.Hidden = True
  3428.    FileAttrib.ReadOnly = True
  3429.    FileAttrib.System = True
  3430.  
  3431.    j = cFileResetAllAttrib(Tmp)
  3432.    j = cFileGetAttrib(Tmp, FileAttrib)
  3433.  
  3434.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  3435.    Tmp1 = Tmp1 & " flag archive" & Chr$(13)
  3436.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13)
  3437.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13)
  3438.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  3439.  
  3440.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3441.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3442.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3443.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3444.  
  3445.    cStartBasisTimer
  3446.    For i = 1 To ItemFile
  3447.       j = cFileResetAllAttrib(Tmp)
  3448.    Next i
  3449.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3450.  
  3451.    Label3.Caption = Tmp1
  3452.  
  3453. End Sub
  3454.  
  3455. Private Sub TestFileResetArchive()
  3456.  
  3457.    Dim Title      As String
  3458.    Dim Tmp        As String
  3459.    Dim Tmp1       As String
  3460.    Dim Tmp2       As String
  3461.    Dim i          As Integer
  3462.    Dim j          As Integer
  3463.    
  3464.  
  3465.    Dim nArchive   As Integer
  3466.    Dim nHidden    As Integer
  3467.    Dim nReadOnly  As Integer
  3468.    Dim nSubDir    As Integer
  3469.    Dim nSystem    As Integer
  3470.  
  3471.    Dim FileAttrib As FileAttributeType
  3472.  
  3473.    Tmp1 = ""
  3474.    Tmp = "TEST.DAT"
  3475.  
  3476.    Call CreateFile
  3477.    j = cFileSetAllAttrib(Tmp)
  3478.  
  3479.    j = cFileResetArchive(Tmp)
  3480.    j = cFileGetAttrib(Tmp, FileAttrib)
  3481.  
  3482.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  3483.    Tmp1 = Tmp1 & " flag archive" & Chr$(13) & Chr$(13)
  3484.  
  3485.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3486.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3487.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3488.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3489.  
  3490.    cStartBasisTimer
  3491.    For i = 1 To ItemFile
  3492.       j = cFileResetArchive(Tmp)
  3493.    Next i
  3494.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3495.  
  3496.    Label3.Caption = Tmp1
  3497.  
  3498. End Sub
  3499.  
  3500. Private Sub TestFileResetHidden()
  3501.  
  3502.    Dim Title      As String
  3503.    Dim Tmp        As String
  3504.    Dim Tmp1       As String
  3505.    Dim Tmp2       As String
  3506.    Dim i          As Integer
  3507.    Dim j          As Integer
  3508.    
  3509.  
  3510.    Dim nArchive   As Integer
  3511.    Dim nHidden    As Integer
  3512.    Dim nReadOnly  As Integer
  3513.    Dim nSubDir    As Integer
  3514.    Dim nSystem    As Integer
  3515.  
  3516.    Dim FileAttrib As FileAttributeType
  3517.  
  3518.    Tmp1 = ""
  3519.    Tmp = "TEST.DAT"
  3520.  
  3521.    Call CreateFile
  3522.    j = cFileSetAllAttrib(Tmp)
  3523.  
  3524.    j = cFileResetHidden(Tmp)
  3525.    j = cFileGetAttrib(Tmp, FileAttrib)
  3526.  
  3527.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  3528.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13) & Chr$(13)
  3529.  
  3530.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3531.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3532.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3533.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3534.  
  3535.    cStartBasisTimer
  3536.    For i = 1 To ItemFile
  3537.       j = cFileResetHidden(Tmp)
  3538.    Next i
  3539.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3540.  
  3541.    Label3.Caption = Tmp1
  3542.  
  3543. End Sub
  3544.  
  3545. Private Sub TestFileResetReadOnly()
  3546.  
  3547.    Dim Title      As String
  3548.    Dim Tmp        As String
  3549.    Dim Tmp1       As String
  3550.    Dim Tmp2       As String
  3551.    Dim i          As Integer
  3552.    Dim j          As Integer
  3553.    
  3554.    Dim FileAttrib As FileAttributeType
  3555.    Dim nArchive   As Integer
  3556.    Dim nHidden    As Integer
  3557.    Dim nReadOnly  As Integer
  3558.    Dim nSubDir    As Integer
  3559.    Dim nSystem    As Integer
  3560.  
  3561.    Tmp1 = ""
  3562.    Tmp = "TEST.DAT"
  3563.  
  3564.    Call CreateFile
  3565.    j = cFileSetAllAttrib(Tmp)
  3566.  
  3567.    j = cFileResetReadOnly(Tmp)
  3568.    j = cFileGetAttrib(Tmp, FileAttrib)
  3569.  
  3570.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  3571.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13) & Chr$(13)
  3572.  
  3573.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3574.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3575.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3576.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3577.  
  3578.    cStartBasisTimer
  3579.    For i = 1 To ItemFile
  3580.       j = cFileResetReadOnly(Tmp)
  3581.    Next i
  3582.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3583.  
  3584.    Label3.Caption = Tmp1
  3585.  
  3586. End Sub
  3587.  
  3588. Private Sub TestFileResetSystem()
  3589.  
  3590.    Dim Title      As String
  3591.    Dim Tmp        As String
  3592.    Dim Tmp1       As String
  3593.    Dim Tmp2       As String
  3594.    Dim i          As Integer
  3595.    Dim j          As Integer
  3596.  
  3597.    Dim FileAttrib As FileAttributeType
  3598.  
  3599.    Tmp1 = ""
  3600.    Tmp = "TEST.DAT"
  3601.  
  3602.    Call CreateFile
  3603.    j = cFileSetAllAttrib(Tmp)
  3604.  
  3605.    j = cFileResetSystem(Tmp)
  3606.    j = cFileGetAttrib(Tmp, FileAttrib)
  3607.  
  3608.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  3609.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  3610.  
  3611.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3612.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3613.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3614.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3615.  
  3616.    cStartBasisTimer
  3617.    For i = 1 To ItemFile
  3618.       j = cFileResetSystem(Tmp)
  3619.    Next i
  3620.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3621.  
  3622.    Label3.Caption = Tmp1
  3623.  
  3624. End Sub
  3625.  
  3626. Private Sub TestFileS()
  3627.  
  3628.    Dim Title      As String
  3629.    Dim Tmp        As String
  3630.    Dim Tmp1       As String
  3631.    Dim Tmp2       As String
  3632.    Dim Tmp3       As String
  3633.    Dim Tmp4       As String
  3634.    Dim i          As Integer
  3635.    Dim j          As Long
  3636.    
  3637.    Tmp1 = ""
  3638.    Tmp = "c:\autoexec.bat"
  3639.    Tmp3 = "re"
  3640.    Tmp4 = "SET"
  3641.  
  3642.    Tmp1 = Tmp1 & "File Search (insensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp3, False) & Chr$(13) & Chr$(13)
  3643.    Tmp1 = Tmp1 & "File Search and Count (insensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp3, False) & Chr$(13) & Chr$(13)
  3644.    Tmp1 = Tmp1 & "File Search (insensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp4, False) & Chr$(13) & Chr$(13)
  3645.    Tmp1 = Tmp1 & "File Search and Count (insensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp4, False) & Chr$(13) & Chr$(13)
  3646.  
  3647.    Tmp1 = Tmp1 & "File Search (sensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp3, True) & Chr$(13) & Chr$(13)
  3648.    Tmp1 = Tmp1 & "File Search and Count (sensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp3, True) & Chr$(13) & Chr$(13)
  3649.    Tmp1 = Tmp1 & "File Search (sensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp4, True) & Chr$(13) & Chr$(13)
  3650.    Tmp1 = Tmp1 & "File Search and Count (sensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp4, True) & Chr$(13) & Chr$(13)
  3651.  
  3652.    cStartBasisTimer
  3653.    For i = 1 To Item
  3654.       If ((i Mod 2) = 1) Then
  3655.          j = cFileSearch(Tmp, Tmp3, False)
  3656.       Else
  3657.          j = cFileSearchCount(Tmp, Tmp3, False)
  3658.       End If
  3659.    Next i
  3660.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3661.  
  3662.    Label3.Caption = Tmp1
  3663.  
  3664. End Sub
  3665.  
  3666. Private Sub TestFileSetAllAttrib()
  3667.  
  3668.    Dim Title      As String
  3669.    Dim Tmp        As String
  3670.    Dim Tmp1       As String
  3671.    Dim Tmp2       As String
  3672.    Dim i          As Integer
  3673.    Dim j          As Integer
  3674.    
  3675.    Dim FileAttrib As FileAttributeType
  3676.  
  3677.    Tmp1 = ""
  3678.    Tmp = "TEST.DAT"
  3679.  
  3680.    Call CreateFile
  3681.  
  3682.    j = cFileSetAllAttrib(Tmp)
  3683.    j = cFileGetAttrib(Tmp, FileAttrib)
  3684.  
  3685.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3686.    Tmp1 = Tmp1 & " flag archive" & Chr$(13)
  3687.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13)
  3688.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13)
  3689.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  3690.  
  3691.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3692.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3693.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3694.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3695.  
  3696.    cStartBasisTimer
  3697.    For i = 1 To ItemFile
  3698.       j = cFileSetAllAttrib(Tmp)
  3699.    Next i
  3700.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3701.  
  3702.    Label3.Caption = Tmp1
  3703.  
  3704. End Sub
  3705.  
  3706. Private Sub TestFileSetArchive()
  3707.  
  3708.    Dim Title      As String
  3709.    Dim Tmp        As String
  3710.    Dim Tmp1       As String
  3711.    Dim Tmp2       As String
  3712.    Dim i          As Integer
  3713.    Dim j          As Integer
  3714.    
  3715.    Dim FileAttrib As FileAttributeType
  3716.  
  3717.    Tmp1 = ""
  3718.    Tmp = "TEST.DAT"
  3719.  
  3720.    Call CreateFile
  3721.  
  3722.    j = cFileSetArchive(Tmp)
  3723.    j = cFileGetAttrib(Tmp, FileAttrib)
  3724.  
  3725.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3726.    Tmp1 = Tmp1 & " flag archive" & Chr$(13) & Chr$(13)
  3727.  
  3728.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3729.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3730.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3731.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3732.  
  3733.    cStartBasisTimer
  3734.    For i = 1 To ItemFile
  3735.       j = cFileSetArchive(Tmp)
  3736.    Next i
  3737.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3738.  
  3739.    Label3.Caption = Tmp1
  3740.  
  3741. End Sub
  3742.  
  3743. Private Sub TestFileSetAttrib()
  3744.  
  3745.    Dim Title      As String
  3746.    Dim Tmp        As String
  3747.    Dim Tmp1       As String
  3748.    Dim Tmp2       As String
  3749.    Dim i          As Integer
  3750.    Dim j          As Integer
  3751.    
  3752.    Dim FileAttrib As FileAttributeType
  3753.  
  3754.    Tmp1 = ""
  3755.    Tmp = "TEST.DAT"
  3756.  
  3757.    Call CreateFile
  3758.  
  3759.    FileAttrib.Archive = False
  3760.    FileAttrib.Hidden = True
  3761.    FileAttrib.ReadOnly = True
  3762.    FileAttrib.System = True
  3763.  
  3764.    j = cFileSetAttrib(Tmp, FileAttrib)
  3765.    j = cFileGetAttrib(Tmp, FileAttrib)
  3766.  
  3767.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3768.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13)
  3769.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13)
  3770.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  3771.  
  3772.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3773.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3774.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3775.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3776.  
  3777.    cStartBasisTimer
  3778.    For i = 1 To ItemFile
  3779.       j = cFileSetAttrib(Tmp, FileAttrib)
  3780.    Next i
  3781.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3782.  
  3783.    Label3.Caption = Tmp1
  3784.  
  3785. End Sub
  3786.  
  3787. Private Sub TestFileSetHidden()
  3788.  
  3789.    Dim Title      As String
  3790.    Dim Tmp        As String
  3791.    Dim Tmp1       As String
  3792.    Dim Tmp2       As String
  3793.    Dim i          As Integer
  3794.    Dim j          As Integer
  3795.    
  3796.    Dim FileAttrib As FileAttributeType
  3797.  
  3798.    Tmp1 = ""
  3799.    Tmp = "TEST.DAT"
  3800.  
  3801.    Call CreateFile
  3802.  
  3803.    j = cFileSetHidden(Tmp)
  3804.    j = cFileGetAttrib(Tmp, FileAttrib)
  3805.  
  3806.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3807.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13) & Chr$(13)
  3808.  
  3809.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3810.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3811.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3812.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3813.  
  3814.    cStartBasisTimer
  3815.    For i = 1 To ItemFile
  3816.       j = cFileSetHidden(Tmp)
  3817.    Next i
  3818.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3819.  
  3820.    Label3.Caption = Tmp1
  3821.  
  3822. End Sub
  3823.  
  3824. Private Sub TestFileSetReadOnly()
  3825.  
  3826.    Dim Title      As String
  3827.    Dim Tmp        As String
  3828.    Dim Tmp1       As String
  3829.    Dim Tmp2       As String
  3830.    Dim i          As Integer
  3831.    Dim j          As Integer
  3832.    
  3833.    Dim FileAttrib As FileAttributeType
  3834.  
  3835.    Tmp1 = ""
  3836.    Tmp = "TEST.DAT"
  3837.  
  3838.    Call CreateFile
  3839.  
  3840.    j = cFileSetReadOnly(Tmp)
  3841.    j = cFileGetAttrib(Tmp, FileAttrib)
  3842.  
  3843.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3844.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13) & Chr$(13)
  3845.  
  3846.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3847.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3848.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3849.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3850.  
  3851.    cStartBasisTimer
  3852.    For i = 1 To ItemFile
  3853.       j = cFileSetReadOnly(Tmp)
  3854.    Next i
  3855.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3856.  
  3857.    Label3.Caption = Tmp1
  3858.  
  3859. End Sub
  3860.  
  3861. Private Sub TestFileSetSystem()
  3862.  
  3863.    Dim Title      As String
  3864.    Dim Tmp        As String
  3865.    Dim Tmp1       As String
  3866.    Dim Tmp2       As String
  3867.    Dim i          As Integer
  3868.    Dim j          As Integer
  3869.    
  3870.    Dim FileAttrib As FileAttributeType
  3871.  
  3872.    Tmp1 = ""
  3873.    Tmp = "TEST.DAT"
  3874.  
  3875.    Call CreateFile
  3876.  
  3877.    j = cFileSetSystem(Tmp)
  3878.    j = cFileGetAttrib(Tmp, FileAttrib)
  3879.  
  3880.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3881.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  3882.  
  3883.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3884.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3885.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3886.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3887.  
  3888.    cStartBasisTimer
  3889.    For i = 1 To ItemFile
  3890.       j = cFileSetSystem(Tmp)
  3891.    Next i
  3892.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3893.  
  3894.    Label3.Caption = Tmp1
  3895.  
  3896. End Sub
  3897.  
  3898. Private Sub TestFilesInDirectory()
  3899.  
  3900.    Dim Title      As String
  3901.    Dim Tmp        As String
  3902.    Dim Tmp1       As String
  3903.    Dim Tmp2       As String
  3904.    Dim i          As Integer
  3905.    Dim j          As Integer
  3906.    Dim k          As Long
  3907.  
  3908.    Title = "The 10 first files in this directory are" & Chr$(13) & Chr$(13)
  3909.  
  3910.    Tmp1 = Title
  3911.    Tmp2 = cFilesInDirectory("*.*", True)
  3912.    For i = 1 To 10
  3913.       Tmp1 = Tmp1 & Tmp2 & Chr$(13)
  3914.       Tmp2 = cFilesInDirectory("*.*", False)
  3915.    Next i
  3916.  
  3917.    Tmp1 = Tmp1 & Chr$(13)
  3918.  
  3919.    cStartBasisTimer
  3920.    For i = 1 To Item
  3921.       Tmp = cFilesInDirectory("*.*", True)
  3922.    Next i
  3923.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3924.  
  3925.    Label3.Caption = Tmp1
  3926.  
  3927. End Sub
  3928.  
  3929. Private Sub TestFilesInDirOnDisk()
  3930.  
  3931.    Dim Title      As String
  3932.    Dim Tmp        As String
  3933.    Dim Tmp1       As String
  3934.    Dim Tmp2       As String
  3935.    Dim i          As Integer
  3936.    Dim j          As Integer
  3937.    Dim k          As Long
  3938.  
  3939.    j = cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ALL)
  3940.    
  3941.    Tmp1 = "The files (any attributes) in 'C:\' are (" & j & ") see first list" & Chr$(13) & Chr$(13)
  3942.  
  3943.    j = cFileToListBox(List1.hWnd, "c:\test.tmp")
  3944.  
  3945.    j = cFilesInDirOnDisk("c:\test1.tmp", "c:\*.*", -A_ARCH)
  3946.    
  3947.    Tmp1 = Tmp1 & "The files (only archive, not other attribute) in 'C:\' are (" & j & ") see second list" & Chr$(13) & Chr$(13)
  3948.  
  3949.    j = cFileToListBox(List2.hWnd, "c:\test1.tmp")
  3950.  
  3951.    Tmp1 = Tmp1 & "Number of files (with at least one of the following attribute)" & Chr$(13) & Chr$(13)
  3952.  
  3953.    Tmp1 = Tmp1 & "Any : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ALL) & Chr$(13)
  3954.    Tmp1 = Tmp1 & "(N)ormal : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_NORMAL) & Chr$(13)
  3955.    Tmp1 = Tmp1 & "(A)rchive, (N)ormal : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_NORMAL_ARCHIVE) & Chr$(13)
  3956.    Tmp1 = Tmp1 & "(A)rchive : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ARCH) & Chr$(13)
  3957.    Tmp1 = Tmp1 & "(A)rchive, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ARCH Or A_RDONLY) & Chr$(13)
  3958.    Tmp1 = Tmp1 & "(S)ystem, (H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_SYSTEM Or A_HIDDEN Or A_RDONLY) & Chr$(13)
  3959.    Tmp1 = Tmp1 & "(H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_HIDDEN Or A_RDONLY) & Chr$(13)
  3960.    Tmp1 = Tmp1 & "(R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_RDONLY) & Chr$(13)
  3961.    Tmp1 = Tmp1 & Chr$(13)
  3962.  
  3963.    Tmp1 = Tmp1 & "Number of files (with exact attribute excluding all others)" & Chr$(13) & Chr$(13)
  3964.  
  3965.    Tmp1 = Tmp1 & "(N)ormal : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_NORMAL)) & Chr$(13)
  3966.    Tmp1 = Tmp1 & "(A)rchive : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_ARCH)) & Chr$(13)
  3967.    Tmp1 = Tmp1 & "(A)rchive, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_ARCH Or A_RDONLY)) & Chr$(13)
  3968.    Tmp1 = Tmp1 & "(S)ystem, (H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_SYSTEM Or A_HIDDEN Or A_RDONLY)) & Chr$(13)
  3969.    Tmp1 = Tmp1 & "(H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_HIDDEN Or A_RDONLY)) & Chr$(13)
  3970.    Tmp1 = Tmp1 & "(R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_RDONLY)) & Chr$(13)
  3971.    Tmp1 = Tmp1 & Chr$(13)
  3972.  
  3973.    cStartBasisTimer
  3974.    For i = 1 To Item
  3975.       j = cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ALL)
  3976.    Next i
  3977.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3978.  
  3979.    Label3.Caption = Tmp1
  3980.  
  3981. End Sub
  3982.  
  3983. Private Sub TestFilesInDirToArray()
  3984.  
  3985.    Dim Title      As String
  3986.    Dim Tmp        As String
  3987.    Dim Tmp1       As String
  3988.    Dim Tmp2       As String
  3989.    Dim i          As Long
  3990.  
  3991.    Dim r          As Integer
  3992.  
  3993.    Dim m1         As Integer
  3994.    Dim m2         As Integer
  3995.  
  3996.    m1 = -999
  3997.    m2 = 1000
  3998.  
  3999.    ReDim AD(m1 To m2) As String
  4000.    
  4001.    ' initialization because we use ReDim without Global definition
  4002.    'For i = m1 To m2
  4003.    '   AD(i) = Space$(256)
  4004.    'Next i
  4005.  
  4006.    r = cFilesInDirToArray("C:\*.*", A_ALL, AD())
  4007.  
  4008.    Tmp1 = "Reading directory 'C:\*.*' into AD(" & m1 & " To " & m2 & ") is '" & r & "'" & Chr$(13)
  4009.  
  4010.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") first files in array are : " & Chr$(13) & Chr$(13)
  4011.  
  4012.    For i = 0 To 2
  4013.       Tmp1 = Tmp1 & AD(m1 + i) & Chr$(13)
  4014.    Next i
  4015.  
  4016.    Tmp1 = Tmp1 & Chr$(13)
  4017.  
  4018.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") last files in array are : " & Chr$(13) & Chr$(13)
  4019.  
  4020.    For i = 0 To 2
  4021.       Tmp1 = Tmp1 & AD(m1 + r - 1 - 2 + i) & Chr$(13)
  4022.    Next i
  4023.  
  4024.    Tmp1 = Tmp1 & Chr$(13)
  4025.  
  4026.    r = cArrayToListBox(List1.hWnd, AD())
  4027.  
  4028.    Tmp2 = cGetDefaultCurrentDir()
  4029.  
  4030.    r = cFilesInDirToArray("*.*", A_ALL, AD())
  4031.  
  4032.    Tmp1 = Tmp1 & "Reading directory '" & Tmp2 & "' into AD(" & m1 & " To " & m2 & ") is '" & r & "'" & Chr$(13)
  4033.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") first files in array are : " & Chr$(13) & Chr$(13)
  4034.  
  4035.    For i = 0 To 2
  4036.       Tmp1 = Tmp1 & AD(m1 + i) & Chr$(13)
  4037.    Next i
  4038.  
  4039.    Tmp1 = Tmp1 & Chr$(13)
  4040.  
  4041.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") last files in array are : " & Chr$(13) & Chr$(13)
  4042.  
  4043.    For i = 0 To 2
  4044.       Tmp1 = Tmp1 & AD(m1 + r - 1 - 2 + i) & Chr$(13)
  4045.    Next i
  4046.  
  4047.    r = cArrayToListBox(List2.hWnd, AD())
  4048.  
  4049.    cStartBasisTimer
  4050.    For i = 1 To Item
  4051.       r = cFilesInDirToArray("C:\*.*", A_ALL, AD())
  4052.    Next i
  4053.    Tmp1 = Tmp1 & Chr$(13) & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4054.  
  4055.    Label3.Caption = Tmp1
  4056.  
  4057. End Sub
  4058.  
  4059. Private Sub TestFilesInfoInDir()
  4060.  
  4061.    Dim Title      As String
  4062.    Dim Tmp        As String
  4063.    Dim Tmp1       As String
  4064.    Dim Tmp2       As String
  4065.    Dim i          As Integer
  4066.    Dim j          As Integer
  4067.    Dim k          As Long
  4068.    Dim FI         As tagFILEINFO
  4069.  
  4070.    Title = "The 7 first files in the current directory '" & cGetDefaultCurrentDir() & "' are" & Chr$(13) & Chr$(13)
  4071.    
  4072.    Tmp1 = Title
  4073.    Tmp2 = cFilesInfoInDir("*.*", FI, True)
  4074.    For i = 1 To 7
  4075.       Tmp1 = Tmp1 & Tmp2 & ", " & FI.fSize & ", " & FI.fDate & ", " & FI.fTime & ", " & FI.fAttribute & Chr$(13)
  4076.       Tmp2 = cFilesInfoInDir("*.*", FI, False)
  4077.    Next i
  4078.  
  4079.    Tmp1 = Tmp1 & Chr$(13)
  4080.  
  4081.    cStartBasisTimer
  4082.    For i = 1 To Item
  4083.       Tmp = cFilesInfoInDir("*.*", FI, True)
  4084.    Next i
  4085.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4086.  
  4087.    Label3.Caption = Tmp1
  4088.  
  4089. End Sub
  4090.  
  4091. Private Sub TestFileSize()
  4092.  
  4093.    Dim Title      As String
  4094.    Dim Tmp        As String
  4095.    Dim Tmp1       As String
  4096.    Dim Tmp2       As String
  4097.    Dim i          As Integer
  4098.    Dim j          As Integer
  4099.    Dim k          As Long
  4100.  
  4101.    Tmp1 = "File size for t2win-16.dll is " & cFileSize("t2win-16.dll") & Chr$(13) & Chr$(13)
  4102.  
  4103.    Tmp1 = Tmp1 & "File size for Path \windows " & cFileSize("\windows") & Chr$(13) & Chr$(13)
  4104.  
  4105.    Tmp1 = Tmp1 & "File size for Path \windows\wintime " & cFileSize("\windows\wintime") & Chr$(13) & Chr$(13)
  4106.  
  4107.    cStartBasisTimer
  4108.    For i = 1 To Item
  4109.       k = cFileSize("t2win-16.dll")
  4110.    Next i
  4111.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4112.  
  4113.    Label3.Caption = Tmp1
  4114.  
  4115. End Sub
  4116.  
  4117. Private Sub TestFileSort(SortMethod As Integer, VarFix As Integer)
  4118.  
  4119.    Dim Title      As String
  4120.    Dim Tmp        As String
  4121.    Dim Tmp1       As String
  4122.    Dim Tmp2       As String
  4123.    Dim Tmp3       As String
  4124.    Dim i          As Integer
  4125.    Dim j          As Integer
  4126.    Dim N          As Integer
  4127.    Dim m          As Double
  4128.  
  4129.    Tmp = "c:\autoexec.bat"
  4130.    Tmp2 = "c:\ae" & Format$(SortMethod) & ".tab"
  4131.  
  4132.    Close #1
  4133.    Open Tmp For Input Shared As #1
  4134.    While Not EOF(1)
  4135.       Line Input #1, Tmp3
  4136.       List1.AddItem Tmp3
  4137.    Wend
  4138.    Close #1
  4139.  
  4140.    If (VarFix = False) Then
  4141.       j = cFileSort("c:\autoexec.bat", Tmp2, SortMethod, -1, -1, -1, N)
  4142.    Else
  4143.       'j = cFileSort("c:\autoexec.bat", Tmp2, SortMethod, 20, 0, 10, n)
  4144.       j = cFileSort("c:\tmp\_dat_hr.Dat", "c:\tmp\tmp" & SortMethod & ".tmp", SortMethod, 50, 0, 11, N)
  4145.    End If
  4146.  
  4147.    Close #1
  4148.    Open Tmp2 For Input Shared As #1
  4149.    While Not EOF(1)
  4150.       Line Input #1, Tmp3
  4151.       List2.AddItem Tmp3
  4152.    Wend
  4153.    Close #1
  4154.  
  4155.    Select Case SortMethod
  4156.       Case (SORT_ASCENDING + SORT_CASE_SENSITIVE):
  4157.          Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in ASC and CS is '" & j & "' and records are '" & N & "'"
  4158.       Case (SORT_DESCENDING + SORT_CASE_SENSITIVE):
  4159.          Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in DSC and CS is '" & j & "' and records are '" & N & "'"
  4160.       Case (SORT_ASCENDING + SORT_CASE_INSENSITIVE):
  4161.          Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in ASC and NS is '" & j & "' and records are '" & N & "'"
  4162.       Case (SORT_DESCENDING + SORT_CASE_INSENSITIVE):
  4163.          Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in DSC and NS is '" & j & "' and records are '" & N & "'"
  4164.    End Select
  4165.  
  4166.    Tmp1 = Tmp1 & Chr$(13) & Chr$(13)
  4167.    
  4168.    cStartBasisTimer
  4169.    For i = 1 To ItemFile
  4170.       j = cFileSort(Tmp, Tmp2, SortMethod, -1, -1, -1, N)
  4171.       DoEvents
  4172.    Next i
  4173.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4174.  
  4175.    Label3.Caption = Tmp1
  4176.  
  4177. End Sub
  4178.  
  4179. Private Sub TestFileSR()
  4180.  
  4181.    Dim Title      As String
  4182.    Dim Tmp        As String
  4183.    Dim Tmp1       As String
  4184.    Dim Tmp2       As String
  4185.    Dim Tmp3       As String
  4186.    Dim Tmp4       As String
  4187.    Dim i          As Integer
  4188.    Dim j          As Long
  4189.    
  4190.    Tmp1 = ""
  4191.    Tmp = "c:\autoexec.bat"
  4192.    Tmp2 = "c:\autoexec.tab"
  4193.    Tmp3 = "SET "
  4194.    Tmp4 = "rem SET "
  4195.  
  4196.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  4197.    Tmp1 = Tmp1 & "File Search-Replace (insensitive) : '" & Tmp3 & "' -> '" & Tmp4 & "' in '" & Tmp2 & "' is " & cFileSearchAndReplace(Tmp2, Tmp3, Tmp4, "c:\tmp.tmp", False) & Chr$(13) & Chr$(13)
  4198.    Tmp1 = Tmp1 & "File Search-Replace (sensitive) : '" & Tmp4 & "' -> '" & Tmp3 & "' in '" & Tmp2 & "' is " & cFileSearchAndReplace(Tmp2, Tmp4, Tmp3, "c:\tmp.tmp", True) & Chr$(13) & Chr$(13)
  4199.    Tmp1 = Tmp1 & "Compare file contents (insensitive) " & Tmp2 & " with " & Tmp & " is " & IIf(cCmpFileContents(Tmp2, Tmp, False) = True, "same", "not same") & Chr$(13) & Chr$(13)
  4200.  
  4201.    cStartBasisTimer
  4202.    For i = 1 To Item
  4203.       If ((i Mod 2) = 1) Then
  4204.          j = cFileSearchAndReplace(Tmp2, Tmp3, Tmp4, "", True)
  4205.       Else
  4206.          j = cFileSearchAndReplace(Tmp2, Tmp4, Tmp3, "", True)
  4207.       End If
  4208.    Next i
  4209.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  4210.  
  4211.    Label3.Caption = Tmp1
  4212.  
  4213. End Sub
  4214.  
  4215. Private Sub TestFilesSize()
  4216.  
  4217.    Dim Title      As String
  4218.    Dim Tmp        As String
  4219.    Dim Tmp1       As String
  4220.    Dim Tmp2       As String
  4221.    Dim i          As Integer
  4222.    Dim j          As Integer
  4223.    Dim k          As Long
  4224.    Dim Size1      As Long
  4225.    Dim Size2      As Long
  4226.  
  4227.    Tmp1 = ""
  4228.    Tmp1 = Tmp1 & "Size of files c:\*.* is " & cFilesSize("c:\*.*") & Chr$(13)
  4229.    Tmp1 = Tmp1 & "Size of files c:\*.bat is " & cFilesSize("c:\*.bat") & Chr$(13)
  4230.    Tmp1 = Tmp1 & "Size of files c:\*.sys is " & cFilesSize("c:\*.sys") & Chr$(13)
  4231.    Tmp1 = Tmp1 & "Size of files c:\*.com is " & cFilesSize("c:\*.com") & Chr$(13)
  4232.    Tmp1 = Tmp1 & Chr$(13)
  4233.    Tmp1 = Tmp1 & "Size of files c:\*.* on disk is " & cFilesSizeOnDisk("c:\*.*") & Chr$(13)
  4234.    Tmp1 = Tmp1 & "Size of files c:\*.bat on disk is " & cFilesSizeOnDisk("c:\*.bat") & Chr$(13)
  4235.    Tmp1 = Tmp1 & "Size of files c:\*.sys on disk is " & cFilesSizeOnDisk("c:\*.sys") & Chr$(13)
  4236.    Tmp1 = Tmp1 & "Size of files c:\*.com on disk is " & cFilesSizeOnDisk("c:\*.com") & Chr$(13)
  4237.    Tmp1 = Tmp1 & Chr$(13)
  4238.    Tmp1 = Tmp1 & "Slack of files c:\*.* on disk is " & cFilesSlack("c:\*.*", Size1, Size2) & " %" & Chr$(13)
  4239.    Tmp1 = Tmp1 & "Slack of files c:\*.bat on disk is " & cFilesSlack("c:\*.bat", Size1, Size2) & " %" & Chr$(13)
  4240.    Tmp1 = Tmp1 & "Slack of files c:\*.sys on disk is " & cFilesSlack("c:\*.sys", Size1, Size2) & " %" & Chr$(13)
  4241.    Tmp1 = Tmp1 & "Slack of files c:\*.com on disk is " & cFilesSlack("c:\*.com", Size1, Size2) & " %" & Chr$(13)
  4242.  
  4243.    cStartBasisTimer
  4244.    For i = 1 To 10
  4245.       k = cFilesSize("c:\*.*")
  4246.    Next i
  4247.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  4248.  
  4249.    Label3.Caption = Tmp1
  4250.  
  4251. End Sub
  4252.  
  4253. Private Sub TestFileStatictics()
  4254.  
  4255.    Dim Title      As String
  4256.    Dim Tmp        As String
  4257.    Dim Tmp1       As String
  4258.    Dim Tmp2       As String
  4259.    Dim Tmp3       As String
  4260.    Dim Tmp4       As String
  4261.    Dim i          As Integer
  4262.    Dim j          As Long
  4263.  
  4264.    Dim nL         As Long
  4265.    Dim nW         As Long
  4266.    Dim nC         As Long
  4267.  
  4268.    Tmp1 = ""
  4269.    Tmp = "c:\autoexec.bat"
  4270.    
  4271.    Tmp1 = Tmp1 & "File statictics for '" & Tmp & "' is " & cFileStatistics(Tmp, nL, nW, nC) & Chr$(13)
  4272.    Tmp1 = Tmp1 & "number of lines : " & nL & Chr$(13)
  4273.    Tmp1 = Tmp1 & "number of words : " & nW & Chr$(13)
  4274.    Tmp1 = Tmp1 & "number of chars : " & nC & Chr$(13) & Chr$(13)
  4275.  
  4276.    Tmp = "c:\config.sys"
  4277.    Tmp1 = Tmp1 & "File statictics for '" & Tmp & "' is " & cFileStatistics(Tmp, nL, nW, nC) & Chr$(13)
  4278.    Tmp1 = Tmp1 & "number of lines : " & nL & Chr$(13)
  4279.    Tmp1 = Tmp1 & "number of words : " & nW & Chr$(13)
  4280.    Tmp1 = Tmp1 & "number of chars : " & nC & Chr$(13) & Chr$(13)
  4281.  
  4282.    cStartBasisTimer
  4283.    For i = 1 To Item
  4284.       j = cFileStatistics(Tmp, nL, nW, nC)
  4285.    Next i
  4286.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  4287.  
  4288.    Label3.Caption = Tmp1
  4289.  
  4290. End Sub
  4291.  
  4292. Private Sub TestFileStatistic()
  4293.  
  4294.    Dim Title      As String
  4295.    Dim Tmp        As String
  4296.    Dim Tmp1       As String
  4297.    Dim Tmp2       As String
  4298.    Dim i          As Integer
  4299.    Dim j          As Integer
  4300.    Dim k          As Long
  4301.    
  4302.  
  4303.    Tmp1 = "File drive for t2win-16.dll is " & cFileDrive("t2win-16.dll") & Chr$(13) & Chr$(13)
  4304.  
  4305.    Tmp1 = Tmp1 & "File last time modified for t2win-16.dll is " & cFileLastTimeModified("t2win-16.dll") & Chr$(13) & Chr$(13)
  4306.  
  4307.    Tmp1 = Tmp1 & "File last date modified for t2win-16.dll is " & cFileLastDateModified("t2win-16.dll") & Chr$(13) & Chr$(13)
  4308.  
  4309.    cStartBasisTimer
  4310.    For i = 1 To ItemFile
  4311.       Tmp = cFileDrive("t2win-16.dll")
  4312.    Next i
  4313.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4314.  
  4315.    Label3.Caption = Tmp1
  4316.  
  4317. End Sub
  4318.  
  4319. Private Sub TestFileToX()
  4320.  
  4321.    Dim Title      As String
  4322.    Dim Tmp        As String
  4323.    Dim Tmp1       As String
  4324.    Dim Tmp2       As String
  4325.    Dim Tmp3       As String
  4326.    Dim i          As Integer
  4327.    Dim j          As Long
  4328.    
  4329.    Tmp1 = ""
  4330.    Tmp = "c:\autoexec.bat"
  4331.    Tmp2 = "c:\autoexec.lwr"
  4332.    Tmp3 = "c:\autoexec.upr"
  4333.  
  4334.    Tmp1 = Tmp1 & "File to lower '" & Tmp & "' to '" & Tmp2 & "' is " & cFileToLower(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  4335.    Tmp1 = Tmp1 & "File to upper '" & Tmp & "' to '" & Tmp3 & "' is " & cFileToUpper(Tmp, Tmp3) & Chr$(13) & Chr$(13)
  4336.  
  4337.    cStartBasisTimer
  4338.    For i = 1 To Item
  4339.       j = cFileToLower(Tmp, Tmp2)
  4340.    Next i
  4341.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  4342.  
  4343.    Label3.Caption = Tmp1
  4344.  
  4345. End Sub
  4346.  
  4347. Private Sub TestFileVersion()
  4348.  
  4349.    Dim Title      As String
  4350.    Dim Tmp        As String
  4351.    Dim Tmp1       As String
  4352.    Dim Tmp2       As String
  4353.    Dim i          As Integer
  4354.    Dim j          As Integer
  4355.    Dim k          As Long
  4356.    Dim status                 As Integer
  4357.  
  4358.    Tmp = cGetSystemDirectory() & "\krnl386.exe"
  4359.  
  4360.    Tmp1 = Tmp1 & "File Version for '" & Tmp & "' is " & Chr$(13)
  4361.  
  4362.    For i = VER_VERSION_PRODUCT To VER_PRODUCT_VERSION
  4363.       Tmp1 = Tmp1 & "   " & i & " = " & cGetFileVersion(Tmp, i) & Chr$(13)
  4364.    Next i
  4365.  
  4366.    Tmp = cGetSystemDirectory() & "\t2win-16.dll"
  4367.  
  4368.    Tmp1 = Tmp1 & "File Version for '" & Tmp & "' is " & Chr$(13)
  4369.  
  4370.    For i = VER_VERSION_PRODUCT To VER_PRODUCT_VERSION
  4371.       Tmp1 = Tmp1 & "   " & i & " = " & cGetFileVersion(Tmp, i) & Chr$(13)
  4372.    Next i
  4373.  
  4374.  
  4375.    cStartBasisTimer
  4376.    For i = 1 To ItemFile
  4377.       Tmp = cGetFileVersion(Tmp, -1)
  4378.    Next i
  4379.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4380.  
  4381.    Label3.Caption = Tmp1
  4382.  
  4383. End Sub
  4384.  
  4385. Private Sub TestFileVersionInfo()
  4386.  
  4387.    Dim Title      As String
  4388.    Dim Tmp        As String
  4389.    Dim Tmp1       As String
  4390.    Dim Tmp2       As String
  4391.    Dim i          As Integer
  4392.    Dim j          As Integer
  4393.    Dim k          As Long
  4394.    Dim status                 As Integer
  4395.    Dim FILEVERSIONINFO     As tagFILEVERSIONINFO
  4396.  
  4397.    Tmp = cGetSystemDirectory() & "\krnl386.exe"
  4398.  
  4399.    Tmp1 = Tmp1 & "File Version Information for '" & Tmp & "' is " & Chr$(13)
  4400.  
  4401.    status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  4402.  
  4403.    Tmp1 = Tmp1 & "   VersionProduct = " & FILEVERSIONINFO.VersionProduct & Chr$(13)
  4404.    Tmp1 = Tmp1 & "   FileDescription = " & FILEVERSIONINFO.FileDescription & Chr$(13)
  4405.    Tmp1 = Tmp1 & "   FileVersion = " & FILEVERSIONINFO.FileVersion & Chr$(13)
  4406.    Tmp1 = Tmp1 & "   InternalName = " & FILEVERSIONINFO.InternalName & Chr$(13)
  4407.    Tmp1 = Tmp1 & "   LegalCopyright = " & FILEVERSIONINFO.LegalCopyright & Chr$(13)
  4408.    Tmp1 = Tmp1 & "   LegalTrademarks = " & FILEVERSIONINFO.LegalTrademarks & Chr$(13)
  4409.    Tmp1 = Tmp1 & "   Comments = " & FILEVERSIONINFO.Comments & Chr$(13)
  4410.    Tmp1 = Tmp1 & "   ProductName = " & FILEVERSIONINFO.ProductName & Chr$(13)
  4411.    Tmp1 = Tmp1 & "   ProductVersion = " & FILEVERSIONINFO.ProductVersion & Chr$(13) & Chr$(13)
  4412.  
  4413.    Tmp = cGetSystemDirectory() & "\t2win-16.dll"
  4414.  
  4415.    Tmp1 = Tmp1 & "File Version Information for '" & Tmp & "' is " & Chr$(13)
  4416.  
  4417.    status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  4418.  
  4419.    Tmp1 = Tmp1 & "   VersionProduct = " & FILEVERSIONINFO.VersionProduct & Chr$(13)
  4420.    Tmp1 = Tmp1 & "   FileDescription = " & FILEVERSIONINFO.FileDescription & Chr$(13)
  4421.    Tmp1 = Tmp1 & "   FileVersion = " & FILEVERSIONINFO.FileVersion & Chr$(13)
  4422.    Tmp1 = Tmp1 & "   InternalName = " & FILEVERSIONINFO.InternalName & Chr$(13)
  4423.    Tmp1 = Tmp1 & "   LegalCopyright = " & FILEVERSIONINFO.LegalCopyright & Chr$(13)
  4424.    Tmp1 = Tmp1 & "   LegalTrademarks = " & FILEVERSIONINFO.LegalTrademarks & Chr$(13)
  4425.    Tmp1 = Tmp1 & "   Comments = " & FILEVERSIONINFO.Comments & Chr$(13)
  4426.    Tmp1 = Tmp1 & "   ProductName = " & FILEVERSIONINFO.ProductName & Chr$(13)
  4427.    Tmp1 = Tmp1 & "   ProductVersion = " & FILEVERSIONINFO.ProductVersion & Chr$(13) & Chr$(13)
  4428.  
  4429.    cStartBasisTimer
  4430.    For i = 1 To ItemFile
  4431.       status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  4432.    Next i
  4433.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4434.  
  4435.    Label3.Caption = Tmp1
  4436.  
  4437. End Sub
  4438.  
  4439. Private Sub TestFill()
  4440.  
  4441.    Dim Title      As String
  4442.    Dim Tmp        As String
  4443.    Dim Tmp1       As String
  4444.    Dim Tmp2       As String
  4445.    Dim i          As Integer
  4446.    Dim j          As Integer
  4447.    
  4448.  
  4449.    Tmp = Text1.Text
  4450.    Title = "Fill of [" & Tmp & "] with [*=] is "
  4451.    Call cFill(Tmp, "*=")
  4452.  
  4453.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  4454.  
  4455.    cStartBasisTimer
  4456.    For i = 1 To Item
  4457.       Call cFill(Tmp, "=*")
  4458.    Next i
  4459.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4460.  
  4461.    Label3.Caption = Tmp1
  4462.  
  4463. End Sub
  4464.  
  4465. Private Sub TestFillI()
  4466.  
  4467.    Dim Title      As String
  4468.    Dim Tmp        As String
  4469.    Dim Tmp1       As String
  4470.    Dim Tmp2       As String
  4471.    Dim i          As Integer
  4472.    Dim j          As Integer
  4473.    Dim m          As Double
  4474.    
  4475.    ReDim array(ItemMean) As Integer
  4476.    Randomize Timer
  4477.  
  4478.    For i = LBound(array) To UBound(array)
  4479.       array(i) = 0
  4480.       List1.AddItem "" & array(i)
  4481.    Next i
  4482.    
  4483.    j = cFillI(array(), 1)
  4484.  
  4485.    For i = LBound(array) To UBound(array)
  4486.       List2.AddItem "" & array(i)
  4487.    Next i
  4488.  
  4489.    Tmp1 = Tmp1 & "Fill 1 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  4490.    Tmp1 = Tmp1 & "Fill 1 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  4491.  
  4492.    cStartBasisTimer
  4493.    For i = 1 To ItemFile
  4494.       j = cFillI(array(), 1)
  4495.    Next i
  4496.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4497.  
  4498.    Label3.Caption = Tmp1
  4499.  
  4500. End Sub
  4501.  
  4502. Private Sub TestFillIncrI()
  4503.  
  4504.    Dim Title      As String
  4505.    Dim Tmp        As String
  4506.    Dim Tmp1       As String
  4507.    Dim Tmp2       As String
  4508.    Dim i          As Integer
  4509.    Dim j          As Integer
  4510.    Dim m          As Double
  4511.    
  4512.    ReDim array(ItemMean) As Integer
  4513.    Randomize Timer
  4514.  
  4515.    For i = LBound(array) To UBound(array)
  4516.       array(i) = 0
  4517.       List1.AddItem "" & array(i)
  4518.    Next i
  4519.    
  4520.    j = cFillIncrI(array(), -2, 3)
  4521.  
  4522.    For i = LBound(array) To UBound(array)
  4523.       List2.AddItem "" & array(i)
  4524.    Next i
  4525.  
  4526.    Tmp1 = Tmp1 & "Fill -2 by increment 3 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  4527.    Tmp1 = Tmp1 & "Fill -2 by increment 3 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  4528.  
  4529.    cStartBasisTimer
  4530.    For i = 1 To ItemFile
  4531.       j = cFillIncrI(array(), 1, 3)
  4532.    Next i
  4533.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4534.  
  4535.    Label3.Caption = Tmp1
  4536.  
  4537. End Sub
  4538.  
  4539. Private Sub TestFilterBlocks()
  4540.  
  4541.    Dim Title      As String
  4542.    Dim Tmp        As String
  4543.    Dim Tmp1       As String
  4544.    Dim Tmp2       As String
  4545.    Dim i          As Integer
  4546.    Dim j          As Integer
  4547.    
  4548.  
  4549.    Tmp = Text1.Text
  4550.    Title = "Filter blocks between '/' and '/' in [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4551.    Tmp1 = Title & cFilterBlocks(Tmp, "//") & Chr$(13) & Chr$(13)
  4552.  
  4553.    Title = "Filter blocks between 'B' and 'I' in [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4554.    Tmp1 = Tmp1 & Title & cFilterBlocks(Tmp, "BI") & Chr$(13) & Chr$(13)
  4555.  
  4556.    cStartBasisTimer
  4557.    For i = 1 To Item
  4558.       Tmp2 = cFilterBlocks(Tmp, "//")
  4559.    Next i
  4560.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4561.  
  4562.    Label3.Caption = Tmp1
  4563.  
  4564. End Sub
  4565.  
  4566. Private Sub TestFilterChars()
  4567.  
  4568.    Dim Title      As String
  4569.    Dim Tmp        As String
  4570.    Dim Tmp1       As String
  4571.    Dim Tmp2       As String
  4572.    Dim i          As Integer
  4573.    Dim j          As Integer
  4574.    
  4575.  
  4576.    Tmp = Text1.Text
  4577.    Title = "Filter 'B','/' in [" & Tmp & "] is "
  4578.    Tmp1 = Title & cFilterChars(Tmp, "B/") & Chr$(13) & Chr$(13)
  4579.  
  4580.    cStartBasisTimer
  4581.    For i = 1 To Item
  4582.       Tmp2 = cFilterChars(Tmp, "B/")
  4583.    Next i
  4584.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4585.  
  4586.    Label3.Caption = Tmp1
  4587.  
  4588. End Sub
  4589.  
  4590. Private Sub TestFindBitReset()
  4591.  
  4592.    Dim Title      As String
  4593.    Dim Tmp        As String
  4594.    Dim Tmp1       As String
  4595.    Dim Tmp2       As String
  4596.    Dim i          As Integer
  4597.    Dim j          As Integer
  4598.    
  4599.  
  4600.    Tmp = Text1.Text
  4601.    Tmp1 = "The following bits on '" & Tmp & "' are not Set (False) " & Chr$(13) & Chr$(13)
  4602.    j = True
  4603.    Do
  4604.       j = cFindBitReset(Tmp, j)
  4605.       If (j <> True) Then Tmp1 = Tmp1 & j & ", "
  4606.    Loop Until (j = True)
  4607.    Tmp1 = Left$(Tmp1, Len(Tmp1) - 1)
  4608.    Tmp1 = Tmp1 & Chr$(13) & Chr$(13)
  4609.  
  4610.    j = 0
  4611.  
  4612.    cStartBasisTimer
  4613.    For i = 1 To Item
  4614.       j = cFindBitReset(Tmp, j)
  4615.    Next i
  4616.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4617.  
  4618.    Label3.Caption = Tmp1
  4619.  
  4620. End Sub
  4621.  
  4622. Private Sub TestFindBitSet()
  4623.  
  4624.    Dim Title      As String
  4625.    Dim Tmp        As String
  4626.    Dim Tmp1       As String
  4627.    Dim Tmp2       As String
  4628.    Dim i          As Integer
  4629.    Dim j          As Integer
  4630.    
  4631.  
  4632.    Tmp = Text1.Text
  4633.    Tmp1 = "The following bits on '" & Tmp & "' are Set (True) " & Chr$(13) & Chr$(13)
  4634.    j = True
  4635.    Do
  4636.       j = cFindBitSet(Tmp, j)
  4637.       If (j <> True) Then Tmp1 = Tmp1 & j & ", "
  4638.    Loop Until (j = True)
  4639.    Tmp1 = Left$(Tmp1, Len(Tmp1) - 1)
  4640.    Tmp1 = Tmp1 & Chr$(13) & Chr$(13)
  4641.  
  4642.    j = 0
  4643.  
  4644.    cStartBasisTimer
  4645.    For i = 1 To Item
  4646.       j = cFindBitSet(Tmp, j)
  4647.    Next i
  4648.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4649.  
  4650.    Label3.Caption = Tmp1
  4651.  
  4652. End Sub
  4653.  
  4654. Private Sub TestFindFileInEnv()
  4655.  
  4656.    Dim Title      As String
  4657.    Dim Tmp        As String
  4658.    Dim Tmp1       As String
  4659.    Dim Tmp2       As String
  4660.    Dim i          As Integer
  4661.    Dim j          As Integer
  4662.  
  4663.    j = cFindFileInEnv("win.com", "windir")
  4664.    Tmp1 = "The file 'win.com' is " & IIf(j, "found", "not found") & " in the WINDIR" & Chr$(13) & Chr$(13)
  4665.    
  4666.    cStartBasisTimer
  4667.    For i = 1 To ItemFile
  4668.       j = cFindFileInEnv("win.com", "windir")
  4669.    Next i
  4670.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4671.  
  4672.    Label3.Caption = Tmp1
  4673.  
  4674. End Sub
  4675.  
  4676. Private Sub TestFindFileInPath()
  4677.  
  4678.    Dim Title      As String
  4679.    Dim Tmp        As String
  4680.    Dim Tmp1       As String
  4681.    Dim Tmp2       As String
  4682.    Dim i          As Integer
  4683.    Dim j          As Integer
  4684.  
  4685.    j = cFindFileInPath("win.com")
  4686.    Tmp1 = "The file 'win.com' is " & IIf(j, "found", "not found") & " in the PATH" & Chr$(13) & Chr$(13)
  4687.    
  4688.    cStartBasisTimer
  4689.    For i = 1 To ItemFile
  4690.       j = cFindFileInPath("win.com")
  4691.    Next i
  4692.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4693.  
  4694.    Label3.Caption = Tmp1
  4695.  
  4696. End Sub
  4697.  
  4698. Private Sub TestFloppyInfo()
  4699.  
  4700.    Dim Title      As String
  4701.    Dim Tmp        As String
  4702.    Dim Tmp1       As String
  4703.    Dim Tmp2       As String
  4704.    Dim i          As Integer
  4705.    Dim j          As Integer
  4706.  
  4707.    Dim nHds       As Integer
  4708.    Dim nCyls      As Integer
  4709.    Dim nSecs      As Integer
  4710.  
  4711.    Tmp1 = ""
  4712.    
  4713.    For i = 1 To 3
  4714.       j = cFloppyInfo(Chr$(64 + i), nHds, nCyls, nSecs)
  4715.       Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is " & j & " (" & nHds & "," & nCyls & "," & nSecs & ")" & Chr$(13)
  4716.    Next i
  4717.  
  4718.    Tmp1 = Tmp1 + Chr$(13)
  4719.  
  4720.    cStartBasisTimer
  4721.    For i = 1 To Item
  4722.       j = cFloppyInfo("A", nHds, nCyls, nSecs)
  4723.    Next i
  4724.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4725.  
  4726.    Label3.Caption = Tmp1
  4727.  
  4728. End Sub
  4729.  
  4730. Private Sub TestFraction()
  4731.  
  4732.    Dim Title      As String
  4733.    Dim Tmp        As String
  4734.    Dim Tmp1       As String
  4735.    Dim Tmp2       As String
  4736.    Dim i          As Integer
  4737.    Dim v          As Double
  4738.    Dim N          As Double
  4739.    Dim p          As Double
  4740.    Dim q          As Double
  4741.    Dim e          As Integer
  4742.  
  4743.    Tmp1 = "Determining fraction part (numerator/denominator) for the following value " & Chr$(13) & Chr$(13)
  4744.  
  4745.    N = 0.75
  4746.    v = cFraction(N, p, q)
  4747.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  4748.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  4749.  
  4750.    N = 4.12
  4751.    v = cFraction(N, p, q)
  4752.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  4753.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  4754.  
  4755.    N = 365.25
  4756.    v = cFraction(N, p, q)
  4757.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  4758.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  4759.  
  4760.    N = 3.14
  4761.    v = cFraction(N, p, q)
  4762.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  4763.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  4764.  
  4765.    N = 3.14159
  4766.    v = cFraction(N, p, q)
  4767.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  4768.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  4769.  
  4770.    N = 3.14159265
  4771.    v = cFraction(N, p, q)
  4772.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  4773.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  4774.  
  4775.    N = 0.9999999
  4776.    v = cFraction(N, p, q)
  4777.    Tmp1 = Tmp1 & N & " is " & p & " / " & q & Chr$(13)
  4778.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  4779.  
  4780.    cStartBasisTimer
  4781.    For i = 1 To Item
  4782.       v = cFraction(N, p, q)
  4783.    Next i
  4784.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4785.  
  4786.    Label3.Caption = Tmp1
  4787.  
  4788. End Sub
  4789.  
  4790. Private Sub TestFullPath()
  4791.  
  4792.    Dim Title      As String
  4793.    Dim Tmp        As String
  4794.    Dim Tmp1       As String
  4795.    Dim Tmp2       As String
  4796.    Dim Tmp3       As String
  4797.    Dim i          As Integer
  4798.    Dim j          As Long
  4799.    
  4800.    Tmp1 = ""
  4801.    Tmp = "C:\AUTOEXEC.BAT"
  4802.  
  4803.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & Chr$(13) & Chr$(13)
  4804.  
  4805.    Tmp = cGetSystemDirectory() & "\t2win-16.dll"
  4806.  
  4807.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & Chr$(13) & Chr$(13)
  4808.  
  4809.    Tmp = cFilesInDirectory(cGetDefaultCurrentDir() + "\*.*", True)
  4810.  
  4811.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & Chr$(13) & Chr$(13)
  4812.  
  4813.    cStartBasisTimer
  4814.    For i = 1 To Item
  4815.       Tmp = cFullPath(Tmp)
  4816.    Next i
  4817.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  4818.  
  4819.    Label3.Caption = Tmp1
  4820.  
  4821. End Sub
  4822.  
  4823. Private Sub TestGetBit()
  4824.  
  4825.    Dim Title      As String
  4826.    Dim Tmp        As String
  4827.    Dim Tmp1       As String
  4828.    Dim Tmp2       As String
  4829.    Dim i          As Integer
  4830.    Dim j          As Integer
  4831.    
  4832.  
  4833.    Tmp = Text1.Text
  4834.    Title = "bit 0,7,3 of [" & Tmp & "] is "
  4835.  
  4836.    Tmp1 = Title & cGetBit(Tmp, 0) & " " & cGetBit(Tmp, 7) & " " & cGetBit(Tmp, 3) & " " & Chr$(13) & Chr$(13)
  4837.  
  4838.    Title = "bit 23,30,38 of [" & Tmp & "] is "
  4839.  
  4840.    Tmp1 = Tmp1 & Title & cGetBit(Tmp, 23) & " " & cGetBit(Tmp, 30) & " " & cGetBit(Tmp, 38) & " " & Chr$(13) & Chr$(13)
  4841.  
  4842.    cStartBasisTimer
  4843.    For i = 1 To Item
  4844.       j = cGetBit(Tmp, i)
  4845.    Next i
  4846.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4847.  
  4848.    Label3.Caption = Tmp1
  4849.  
  4850. End Sub
  4851.  
  4852. Private Sub TestGetBlock()
  4853.  
  4854.    Dim Title      As String
  4855.    Dim Tmp        As String
  4856.    Dim Tmp1       As String
  4857.    Dim Tmp2       As String
  4858.    Dim i          As Integer
  4859.    Dim j          As Integer
  4860.    
  4861.  
  4862.    Tmp = Text1.Text
  4863.    Title = "The 2,4,1 of 2 chars of [" & Tmp & "] are "
  4864.  
  4865.    Tmp = Text1.Text
  4866.  
  4867.    Tmp1 = Title & "2:" & cGetBlock(Tmp, 2, 2) & " | 4:" & cGetBlock(Tmp, 4, 2) & " | 1:" & cGetBlock(Tmp, 1, 2) & Chr$(13) & Chr$(13)
  4868.  
  4869.    cStartBasisTimer
  4870.    For i = 1 To Item
  4871.       Tmp2 = cGetBlock(Tmp, 1, 2)
  4872.    Next i
  4873.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4874.  
  4875.    Label3.Caption = Tmp1
  4876.  
  4877. End Sub
  4878.  
  4879. Private Sub TestGetCurrentDrive()
  4880.  
  4881.    Dim Title      As String
  4882.    Dim Tmp        As String
  4883.    Dim Tmp1       As String
  4884.    Dim Tmp2       As String
  4885.    Dim i          As Integer
  4886.    Dim j          As Integer
  4887.    
  4888.    Tmp = cGetCurrentDrive()
  4889.    Tmp1 = Tmp & " is the current drive" & Chr$(13) & Chr$(13)
  4890.    
  4891.    cStartBasisTimer
  4892.    For i = 1 To Item
  4893.       Tmp2 = cGetCurrentDrive()
  4894.       If (Tmp <> Tmp2) Then Beep
  4895.    Next i
  4896.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4897.  
  4898.    Label3.Caption = Tmp1
  4899.  
  4900. End Sub
  4901.  
  4902. Private Sub TestGetDateSeparator()
  4903.  
  4904.    Dim Title      As String
  4905.    Dim Tmp        As String
  4906.    Dim Tmp1       As String
  4907.    Dim Tmp2       As String
  4908.    Dim i          As Integer
  4909.    Dim j          As Integer
  4910.  
  4911.    Tmp = cGetDateSeparator()
  4912.    Tmp1 = "The following char '" & Tmp & "' is the date separator" & Chr$(13) & Chr$(13)
  4913.    
  4914.    cStartBasisTimer
  4915.    For i = 1 To Item
  4916.       Tmp2 = cGetDateSeparator()
  4917.       If (Tmp <> Tmp2) Then Beep
  4918.    Next i
  4919.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4920.  
  4921.    Label3.Caption = Tmp1
  4922.  
  4923. End Sub
  4924.  
  4925. Private Sub TestGetDefaultCurrentDir()
  4926.  
  4927.    Dim Title      As String
  4928.    Dim Tmp        As String
  4929.    Dim Tmp1       As String
  4930.    Dim Tmp2       As String
  4931.    Dim i          As Integer
  4932.    Dim j          As Integer
  4933.    
  4934.  
  4935.    Tmp = cGetDefaultCurrentDir()
  4936.    Tmp1 = Tmp & " is the current dir on the default drive" & Chr$(13) & Chr$(13)
  4937.    
  4938.    cStartBasisTimer
  4939.    For i = 1 To Item
  4940.       Tmp2 = cGetDefaultCurrentDir()
  4941.       If (Tmp <> Tmp2) Then Beep
  4942.    Next i
  4943.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4944.  
  4945.    Label3.Caption = Tmp1
  4946.  
  4947. End Sub
  4948.  
  4949. Private Sub TestGetDiskFree()
  4950.  
  4951.    Dim Title      As String
  4952.    Dim Tmp        As String
  4953.    Dim Tmp1       As String
  4954.    Dim Tmp2       As String
  4955.    Dim i          As Integer
  4956.    Dim j          As Integer
  4957.    Dim k          As Long
  4958.    Dim ErrCode    As Integer
  4959.  
  4960.    Tmp1 = ""
  4961.    
  4962.    For i = 1 To 26
  4963.       k = cGetDiskFree(Chr$(64 + i))
  4964.       If (k <> True) Then
  4965.          Tmp1 = Tmp1 & "DiskFree for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  4966.       End If
  4967.    Next i
  4968.  
  4969.    Tmp1 = Tmp1 + Chr$(13)
  4970.  
  4971.    cStartBasisTimer
  4972.    For i = 1 To Item
  4973.       k = cGetDiskFree("C")
  4974.    Next i
  4975.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4976.  
  4977.    Label3.Caption = Tmp1
  4978.  
  4979. End Sub
  4980.  
  4981. Private Sub TestGetDiskSpace()
  4982.  
  4983.    Dim Title      As String
  4984.    Dim Tmp        As String
  4985.    Dim Tmp1       As String
  4986.    Dim Tmp2       As String
  4987.    Dim i          As Integer
  4988.    Dim j          As Integer
  4989.    Dim k          As Long
  4990.    Dim ErrCode    As Integer
  4991.  
  4992.    Tmp1 = ""
  4993.    
  4994.    For i = 1 To 26
  4995.       k = cGetDiskSpace(Chr$(64 + i))
  4996.       If (k <> True) Then
  4997.          Tmp1 = Tmp1 & "DiskSpace for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  4998.       End If
  4999.    Next i
  5000.  
  5001.    Tmp1 = Tmp1 + Chr$(13)
  5002.  
  5003.    cStartBasisTimer
  5004.    For i = 1 To Item
  5005.       k = cGetDiskSpace("C")
  5006.    Next i
  5007.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5008.  
  5009.    Label3.Caption = Tmp1
  5010.  
  5011. End Sub
  5012.  
  5013. Private Sub TestGetDiskUsed()
  5014.  
  5015.    Dim Title      As String
  5016.    Dim Tmp        As String
  5017.    Dim Tmp1       As String
  5018.    Dim Tmp2       As String
  5019.    Dim i          As Integer
  5020.    Dim j          As Integer
  5021.    Dim k          As Long
  5022.    Dim ErrCode    As Integer
  5023.  
  5024.    Tmp1 = ""
  5025.    
  5026.    For i = 1 To 26
  5027.       k = cGetDiskUsed(Chr$(64 + i))
  5028.       If (k <> True) Then
  5029.          Tmp1 = Tmp1 & "DiskUsed for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  5030.       End If
  5031.    Next i
  5032.  
  5033.    Tmp1 = Tmp1 + Chr$(13)
  5034.  
  5035.    cStartBasisTimer
  5036.    For i = 1 To Item
  5037.       k = cGetDiskUsed("C")
  5038.    Next i
  5039.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5040.  
  5041.    Label3.Caption = Tmp1
  5042.  
  5043. End Sub
  5044.  
  5045. Private Sub TestGetDriveCurrentDir()
  5046.  
  5047.    Dim Title      As String
  5048.    Dim Tmp        As String
  5049.    Dim Tmp1       As String
  5050.    Dim Tmp2       As String
  5051.    Dim i          As Integer
  5052.    Dim j          As Integer
  5053.  
  5054.    Tmp1 = ""
  5055.    
  5056.    For i = 1 To 26
  5057.       Tmp = cGetDriveCurrentDir(Chr$(64 + i))
  5058.       If (Tmp <> "") Then
  5059.          Tmp1 = Tmp1 & "The current directory in '" & Chr$(64 + i) & ":' is " & Tmp & Chr$(13)
  5060.       Else
  5061.          If (i = 1) Then Tmp1 = Tmp1 & "drive A: is missing" & Chr$(13)
  5062.          If (i = 2) Then Tmp1 = Tmp1 & "drive B: is missing" & Chr$(13)
  5063.       End If
  5064.    Next i
  5065.  
  5066.    Tmp1 = Tmp1 + Chr$(13)
  5067.  
  5068.    cStartBasisTimer
  5069.    For i = 1 To Item
  5070.       Tmp2 = cGetDriveCurrentDir("C")
  5071.    Next i
  5072.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5073.  
  5074.    Label3.Caption = Tmp1
  5075.  
  5076. End Sub
  5077.  
  5078. Private Sub TestGetFullnameInEnv()
  5079.  
  5080.    Dim Title      As String
  5081.    Dim Tmp        As String
  5082.    Dim Tmp1       As String
  5083.    Dim Tmp2       As String
  5084.    Dim i          As Integer
  5085.    Dim j          As Integer
  5086.  
  5087.    Tmp = cGetFullNameInEnv("win.com", "windir")
  5088.    Tmp1 = "Full path for 'win.com' in 'windir' is " & Tmp & Chr$(13) & Chr$(13)
  5089.    
  5090.    cStartBasisTimer
  5091.    For i = 1 To ItemFile
  5092.       Tmp2 = cGetFullNameInEnv("win.com", "windir")
  5093.    Next i
  5094.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5095.  
  5096.    Label3.Caption = Tmp1
  5097.  
  5098. End Sub
  5099.  
  5100. Private Sub TestGetFullnameInPath()
  5101.  
  5102.    Dim Title      As String
  5103.    Dim Tmp        As String
  5104.    Dim Tmp1       As String
  5105.    Dim Tmp2       As String
  5106.    Dim i          As Integer
  5107.    Dim j          As Integer
  5108.  
  5109.    Tmp = cGetFullNameInPath("win.com")
  5110.    Tmp1 = "Full path for 'win.com' is " & Tmp & Chr$(13) & Chr$(13)
  5111.    
  5112.    cStartBasisTimer
  5113.    For i = 1 To ItemFile
  5114.       Tmp2 = cGetFullNameInPath("win.com")
  5115.    Next i
  5116.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5117.  
  5118.    Label3.Caption = Tmp1
  5119.  
  5120. End Sub
  5121.  
  5122. Private Sub TestGetIn()
  5123.  
  5124.    Dim Title      As String
  5125.    Dim Tmp        As String
  5126.    Dim Tmp1       As String
  5127.    Dim Tmp2       As String
  5128.    Dim i          As Integer
  5129.    Dim j          As Integer
  5130.    
  5131.  
  5132.    Tmp = Text1.Text
  5133.    Title = "The 2,4,1 blocks of [" & Tmp & "] are "
  5134.  
  5135.    Tmp = Text1.Text
  5136.  
  5137.    Tmp1 = Title & "2:" & cGetIn(Tmp, "/", 2) & " | 4:" & cGetIn(Tmp, "/", 4) & " | 1:" & cGetIn(Tmp, "/", 1) & Chr$(13) & Chr$(13)
  5138.  
  5139.    cStartBasisTimer
  5140.    For i = 1 To Item
  5141.       Tmp2 = cGetIn(Tmp, "/", 2)
  5142.    Next i
  5143.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5144.  
  5145.    Label3.Caption = Tmp1
  5146.    
  5147. End Sub
  5148.  
  5149. Private Sub TestGetInR()
  5150.               
  5151.    Dim Title      As String
  5152.    Dim Tmp        As String
  5153.    Dim Tmp1       As String
  5154.    Dim Tmp2       As String
  5155.    Dim i          As Integer
  5156.    Dim j          As Integer
  5157.  
  5158.    Tmp = Text1.Text
  5159.  
  5160.    Tmp1 = Tmp1 + "GetInR" & Chr$(13)
  5161.    Tmp1 = Tmp1 + "The 2,4,1 blocks from the right of [" & Tmp & "] are "
  5162.    Tmp1 = Tmp1 & "2:" & cGetInR(Tmp, "/", 2) & " | 4:" & cGetInR(Tmp, "/", 4) & " | 1:" & cGetInR(Tmp, "/", 1) & Chr$(13) & Chr$(13)
  5163.  
  5164.    Tmp1 = Tmp1 + "GetInPart" & Chr$(13)
  5165.    Tmp1 = Tmp1 + "The first and the second part from the left of [" & Tmp & "] are " & Chr$(13)
  5166.    Tmp1 = Tmp1 & cGetInPart(Tmp, "/", True) & " | " & cGetInPart(Tmp, "/", False) & Chr$(13) & Chr$(13)
  5167.  
  5168.    Tmp1 = Tmp1 + "GetInPartR" & Chr$(13)
  5169.    Tmp1 = Tmp1 + "The first and the second part from the right of [" & Tmp & "] are " & Chr$(13)
  5170.    Tmp1 = Tmp1 & cGetInPartR(Tmp, "/", True) & " | " & cGetInPartR(Tmp, "/", False) & Chr$(13) & Chr$(13)
  5171.  
  5172.    Tmp = UCase$("c:\vberr.hnd\source.mak\vbtrcprf.mak")
  5173.  
  5174.    Tmp1 = Tmp1 + "GetInPart" & Chr$(13)
  5175.    Tmp1 = Tmp1 + "The first and the second part from the left of [" & Tmp & "] are " & Chr$(13)
  5176.    Tmp1 = Tmp1 & cGetInPart(Tmp, ".", True) & " | " & cGetInPart(Tmp, ".", False) & Chr$(13) & Chr$(13)
  5177.  
  5178.    Tmp1 = Tmp1 + "GetInPartR" & Chr$(13)
  5179.    Tmp1 = Tmp1 + "The first and the second part from the right of [" & Tmp & "] are " & Chr$(13)
  5180.    Tmp1 = Tmp1 & cGetInPartR(Tmp, ".", True) & " | " & cGetInPartR(Tmp, ".", False) & Chr$(13) & Chr$(13)
  5181.  
  5182.    cStartBasisTimer
  5183.    For i = 1 To Item
  5184.       Tmp2 = cGetInR(Tmp, "/", 2)
  5185.    Next i
  5186.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5187.  
  5188.    Label3.Caption = Tmp1
  5189.    
  5190. End Sub
  5191.  
  5192. Private Sub TestGetNetConnection()
  5193.  
  5194.    Dim Title      As String
  5195.    Dim Tmp        As String
  5196.    Dim Tmp1       As String
  5197.    Dim Tmp2       As String
  5198.    Dim i          As Integer
  5199.    Dim j          As Integer
  5200.    Dim ErrCode    As Integer
  5201.  
  5202.    Tmp1 = ""
  5203.    
  5204.    For i = 1 To 26
  5205.       Tmp = cGetNetConnection(Chr$(64 + i) & ":", ErrCode)
  5206.       If (ErrCode = True) Then
  5207.          Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is " & Tmp & Chr$(13)
  5208.       End If
  5209.    Next i
  5210.  
  5211.    For i = 1 To 3
  5212.       Tmp = cGetNetConnection("LPT" & i & ":", ErrCode)
  5213.       If (ErrCode = True) Then
  5214.          Tmp1 = Tmp1 & "'LPT" & i & ":' is " & Tmp & Chr$(13)
  5215.       End If
  5216.    Next i
  5217.  
  5218.    Tmp1 = Tmp1 + Chr$(13)
  5219.  
  5220.    cStartBasisTimer
  5221.    For i = 1 To ItemFile
  5222.       Tmp = cGetNetConnection("C", ErrCode)
  5223.    Next i
  5224.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5225.  
  5226.    Label3.Caption = Tmp1
  5227.  
  5228. End Sub
  5229.  
  5230. Private Sub TestGetSystemDirectory()
  5231.  
  5232.    Dim Title      As String
  5233.    Dim Tmp        As String
  5234.    Dim Tmp1       As String
  5235.    Dim Tmp2       As String
  5236.    Dim i          As Integer
  5237.    Dim j          As Integer
  5238.    
  5239.    Tmp = cGetSystemDirectory()
  5240.    Tmp1 = Tmp & " is the system directory for Windows" & Chr$(13) & Chr$(13)
  5241.    
  5242.    cStartBasisTimer
  5243.    For i = 1 To Item
  5244.       Tmp2 = cGetSystemDirectory()
  5245.       If (Tmp <> Tmp2) Then Beep
  5246.    Next i
  5247.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5248.  
  5249.    Label3.Caption = Tmp1
  5250.  
  5251. End Sub
  5252.  
  5253. Private Sub TestGetTimeSeparator()
  5254.  
  5255.    Dim Title      As String
  5256.    Dim Tmp        As String
  5257.    Dim Tmp1       As String
  5258.    Dim Tmp2       As String
  5259.    Dim i          As Integer
  5260.    Dim j          As Integer
  5261.    
  5262.  
  5263.    Tmp = cGetTimeSeparator()
  5264.    Tmp1 = "The following char '" & Tmp & "' is the time separator" & Chr$(13) & Chr$(13)
  5265.    
  5266.    cStartBasisTimer
  5267.    For i = 1 To Item
  5268.       Tmp2 = cGetTimeSeparator()
  5269.       If (Tmp <> Tmp2) Then Beep
  5270.    Next i
  5271.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5272.  
  5273.    Label3.Caption = Tmp1
  5274.  
  5275. End Sub
  5276.  
  5277. Private Sub TestGetWindowsDirectory()
  5278.  
  5279.    Dim Title      As String
  5280.    Dim Tmp        As String
  5281.    Dim Tmp1       As String
  5282.    Dim Tmp2       As String
  5283.    Dim i          As Integer
  5284.    Dim j          As Integer
  5285.    
  5286.    Tmp = cGetWindowsDirectory()
  5287.    Tmp1 = Tmp & " is the directory for Windows" & Chr$(13) & Chr$(13)
  5288.    
  5289.    cStartBasisTimer
  5290.    For i = 1 To Item
  5291.       Tmp2 = cGetWindowsDirectory()
  5292.       If (Tmp <> Tmp2) Then Beep
  5293.    Next i
  5294.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5295.  
  5296.    Label3.Caption = Tmp1
  5297.  
  5298. End Sub
  5299.  
  5300. Private Sub TestGiveBitPalindrome()
  5301.  
  5302.    Dim Title      As String
  5303.    Dim Tmp        As String
  5304.    Dim Tmp1       As String
  5305.    Dim Tmp2       As String
  5306.    Dim i          As Integer
  5307.    Dim j          As Integer
  5308.    
  5309.  
  5310.    Title = "The followings chars are Bit Palindrome : " & Chr$(13) & Chr$(13)
  5311.    Tmp1 = Tmp1 & Title & "chr(0) and  " & cBlockCharFromRight(cGiveBitPalindrome(), 1) & Chr$(13) & Chr$(13)
  5312.  
  5313.    cStartBasisTimer
  5314.    For i = 1 To Item
  5315.       Tmp2 = cGiveBitPalindrome()
  5316.    Next i
  5317.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5318.  
  5319.    Label3.Caption = Tmp1
  5320.  
  5321. End Sub
  5322.  
  5323. Private Sub TestHideAllEditForm()
  5324.  
  5325.    Dim N       As Integer
  5326.    Dim Tmp     As String
  5327.  
  5328.    If (cHideAllEditForm() = True) Then
  5329.       Tmp = "HideAllEditForm SUCCESS"
  5330.    Else
  5331.       Tmp = "HideAllEditForm FAIL"
  5332.    End If
  5333.  
  5334.    Tmp = Tmp & Chr$(13) & "Waiting 2 seconds" & Chr$(13)
  5335.    Label3.Caption = Tmp
  5336.    DoEvents
  5337.    N = cSleep(2000)
  5338.  
  5339.    If (cUnHideAllEditForm() = True) Then
  5340.       Tmp = Tmp & "UnHideAllEditForm SUCCESS"
  5341.    Else
  5342.       Tmp = Tmp & "UnHideAllEditForm FAIL"
  5343.    End If
  5344.  
  5345.    Label3.Caption = Tmp
  5346.  
  5347. End Sub
  5348.  
  5349. Private Sub TestHideDebugForm()
  5350.  
  5351.    Dim N       As Integer
  5352.    Dim Tmp     As String
  5353.  
  5354.    If (cHideDebugForm() = True) Then
  5355.       Tmp = "HideDebugForm SUCCESS"
  5356.    Else
  5357.       Tmp = "HideDebugForm FAIL"
  5358.    End If
  5359.  
  5360.    Tmp = Tmp & Chr$(13) & "Waiting 2 seconds" & Chr$(13)
  5361.    Label3.Caption = Tmp
  5362.    DoEvents
  5363.    N = cSleep(2000)
  5364.  
  5365.    If (cUnHideDebugForm() = True) Then
  5366.       Tmp = Tmp & "UnHideDebugForm SUCCESS"
  5367.    Else
  5368.       Tmp = Tmp & "UnHideDebugForm FAIL"
  5369.    End If
  5370.  
  5371.    Label3.Caption = Tmp
  5372.  
  5373. End Sub
  5374.  
  5375. Private Sub TestHMAL(Management As Integer)
  5376.  
  5377.    Dim Tmp        As String
  5378.    Dim ErrCode    As Integer
  5379.    Dim HMA        As tagHMA
  5380.    
  5381.    HMA.nType = DA_LONG
  5382.    HMA.nIsTyped = False
  5383.    HMA.nRows = 100
  5384.    HMA.nCols = 100
  5385.    HMA.nSheets = 2
  5386.  
  5387.    ErrCode = cHMACreate(HMA)
  5388.  
  5389.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  5390.  
  5391.    If (ErrCode = True) Then
  5392.       
  5393.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & Chr$(13)
  5394.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & Chr$(13)
  5395.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & Chr$(13)
  5396.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & Chr$(13)
  5397.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & Chr$(13)
  5398.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & Chr$(13)
  5399.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & Chr$(13)
  5400.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & Chr$(13)
  5401.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & Chr$(13)
  5402.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & Chr$(13)
  5403.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & Chr$(13)
  5404.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & Chr$(13) & Chr$(13)
  5405.       
  5406.       Call cHMAPut(HMA, 1, 1, 1, 12345)
  5407.       Call cHMAPut(HMA, HMA.nRows, HMA.nCols, 1, 98765)
  5408.       
  5409.       Call cHMAPut(HMA, 1, HMA.nCols, 2, 34567890)
  5410.       Call cHMAPut(HMA, HMA.nRows, 1, 2, 123456789)
  5411.    
  5412.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  5413.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  5414.       
  5415.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  5416.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13) & Chr$(13)
  5417.  
  5418.       If (Management > 0) Then
  5419.  
  5420.          Select Case Management
  5421.             Case 1         'clear all
  5422.                ErrCode = cHMAClear(HMA)
  5423.             Case 2         'clear sheet 2
  5424.                ErrCode = cHMAClearSheet(HMA, 2)
  5425.             Case 3         'clear last row
  5426.                ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  5427.             Case 4         'clear last col
  5428.                ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  5429.             Case 5         'clear last row in all sheets
  5430.                ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  5431.             Case 6         'clear last col in all sheets
  5432.                ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  5433.          End Select
  5434.  
  5435.          Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  5436.          Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  5437.          
  5438.          Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  5439.          Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13)
  5440.  
  5441.       End If
  5442.  
  5443.    End If
  5444.  
  5445.    ErrCode = cHMAFree(HMA)
  5446.  
  5447.    Label3.Caption = Tmp
  5448.  
  5449. End Sub
  5450.  
  5451. Private Sub TestHMAStr(Management As Integer)
  5452.  
  5453.    Dim Tmp        As String
  5454.    Dim ErrCode    As Integer
  5455.    Dim HMA        As tagHMA
  5456.  
  5457.    HMA.nType = 50
  5458.    HMA.nIsTyped = False
  5459.    HMA.nRows = 100
  5460.    HMA.nCols = 100
  5461.    HMA.nSheets = 2
  5462.  
  5463.    ErrCode = cHMACreate(HMA)
  5464.  
  5465.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  5466.  
  5467.    If (ErrCode = True) Then
  5468.       
  5469.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & Chr$(13)
  5470.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & Chr$(13)
  5471.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & Chr$(13)
  5472.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & Chr$(13)
  5473.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & Chr$(13)
  5474.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & Chr$(13)
  5475.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & Chr$(13)
  5476.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & Chr$(13)
  5477.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & Chr$(13)
  5478.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & Chr$(13)
  5479.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & Chr$(13)
  5480.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & Chr$(13) & Chr$(13)
  5481.       
  5482.       Call cHMAPut(HMA, 1, 1, 1, "D:1, ABCDEFGHIJ")
  5483.       Call cHMAPut(HMA, HMA.nRows, HMA.nCols, 1, "D:1, oprqstuvwxyz")
  5484.       
  5485.       Call cHMAPut(HMA, 1, HMA.nCols, 2, "D:2, 0987654321")
  5486.       Call cHMAPut(HMA, HMA.nRows, 1, 2, "D:2, 12345ABCDE")
  5487.    
  5488.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  5489.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  5490.       
  5491.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  5492.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13) & Chr$(13)
  5493.  
  5494.       If (Management > 0) Then
  5495.  
  5496.          Select Case Management
  5497.             Case 1         'clear all
  5498.                ErrCode = cHMAClear(HMA)
  5499.             Case 2         'clear sheet 2
  5500.                ErrCode = cHMAClearSheet(HMA, 2)
  5501.             Case 3         'clear last row
  5502.                ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  5503.             Case 4         'clear last col
  5504.                ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  5505.             Case 5         'clear last row in all sheets
  5506.                ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  5507.             Case 6         'clear last col in all sheets
  5508.                ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  5509.          End Select
  5510.  
  5511.          Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  5512.          Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  5513.          
  5514.          Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  5515.          Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13)
  5516.  
  5517.       End If
  5518.  
  5519.    End If
  5520.  
  5521.    ErrCode = cHMAFree(HMA)
  5522.  
  5523.    Label3.Caption = Tmp
  5524.    
  5525. End Sub
  5526.  
  5527. Private Sub TestHMAType(Management As Integer)
  5528.  
  5529.    Dim Tmp        As String
  5530.    Dim ErrCode    As Integer
  5531.    Dim HMA        As tagHMA
  5532.    Dim TE         As tagTASKENTRY
  5533.  
  5534.    HMA.nType = Len(TE)
  5535.    HMA.nIsTyped = True
  5536.    HMA.nRows = 100
  5537.    HMA.nCols = 100
  5538.    HMA.nSheets = 2
  5539.  
  5540.    ErrCode = cHMACreate(HMA)
  5541.  
  5542.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  5543.  
  5544.    If (ErrCode = True) Then
  5545.       
  5546.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & Chr$(13)
  5547.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & Chr$(13)
  5548.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & Chr$(13)
  5549.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & Chr$(13)
  5550.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & Chr$(13)
  5551.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & Chr$(13)
  5552.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & Chr$(13)
  5553.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & Chr$(13)
  5554.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & Chr$(13)
  5555.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & Chr$(13)
  5556.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & Chr$(13)
  5557.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & Chr$(13) & Chr$(13)
  5558.  
  5559.       ErrCode = cTasks(TE, True)
  5560.       Call cHMAPutType(HMA, 1, 1, 1, TE)
  5561.       ErrCode = cTasks(TE, False)
  5562.       Call cHMAPutType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  5563.       
  5564.       ErrCode = cTasks(TE, False)
  5565.       Call cHMAPutType(HMA, 1, HMA.nCols, 2, TE)
  5566.       ErrCode = cTasks(TE, False)
  5567.       Call cHMAPutType(HMA, HMA.nRows, 1, 2, TE)
  5568.       
  5569.       Call cHMAGetType(HMA, 1, 1, 1, TE)
  5570.       Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  5571.       Call cHMAGetType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  5572.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  5573.       
  5574.       Call cHMAGetType(HMA, 1, HMA.nCols, 2, TE)
  5575.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  5576.       Call cHMAGetType(HMA, HMA.nRows, 1, 2, TE)
  5577.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13) & Chr$(13)
  5578.  
  5579.       If (Management > 0) Then
  5580.  
  5581.          Select Case Management
  5582.             Case 1         'clear all
  5583.                ErrCode = cHMAClear(HMA)
  5584.             Case 2         'clear sheet 2
  5585.                ErrCode = cHMAClearSheet(HMA, 2)
  5586.             Case 3         'clear last row
  5587.                ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  5588.             Case 4         'clear last col
  5589.                ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  5590.             Case 5         'clear last row in all sheets
  5591.                ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  5592.             Case 6         'clear last col in all sheets
  5593.                ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  5594.          End Select
  5595.  
  5596.          Call cHMAGetType(HMA, 1, 1, 1, TE)
  5597.          Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  5598.          Call cHMAGetType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  5599.          Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  5600.       
  5601.          Call cHMAGetType(HMA, 1, HMA.nCols, 2, TE)
  5602.          Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  5603.          Call cHMAGetType(HMA, HMA.nRows, 1, 2, TE)
  5604.          Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  5605.  
  5606.       End If
  5607.  
  5608.    End If
  5609.  
  5610.    ErrCode = cHMAFree(HMA)
  5611.  
  5612.    Label3.Caption = Tmp
  5613.    
  5614. End Sub
  5615.  
  5616. Private Sub TestHourTo()
  5617.  
  5618.    Dim Title      As String
  5619.    Dim Tmp        As String
  5620.    Dim Tmp1       As String
  5621.    Dim Tmp2       As String
  5622.    Dim i          As Integer
  5623.    Dim j          As Integer
  5624.  
  5625.    Tmp1 = "The time 10:00 is " & cHourTo("10:00") & " minutes" & Chr$(13)
  5626.    Tmp1 = Tmp1 & "The time 23:58 is " & cHourTo("23:58") & " minutes" & Chr$(13)
  5627.    Tmp1 = Tmp1 & "The time 7:36 is " & cHourTo("7:36") & " minutes" & Chr$(13)
  5628.    Tmp1 = Tmp1 & "The time :24 is " & cHourTo(":24") & " minutes" & Chr$(13)
  5629.    Tmp1 = Tmp1 & "The time :4 is " & cHourTo(":4") & " minutes" & Chr$(13)
  5630.    Tmp1 = Tmp1 & "The time : is " & cHourTo(":") & " minutes" & Chr$(13) & Chr$(13)
  5631.  
  5632.    Tmp1 = Tmp1 & "The time -10:00 is " & cHourTo("-10:00") & " minutes" & Chr$(13)
  5633.    Tmp1 = Tmp1 & "The time -23:58 is " & cHourTo("-23:58") & " minutes" & Chr$(13)
  5634.    Tmp1 = Tmp1 & "The time -7:36 is " & cHourTo("-7:36") & " minutes" & Chr$(13)
  5635.    Tmp1 = Tmp1 & "The time -:24 is " & cHourTo("-:24") & " minutes" & Chr$(13)
  5636.    Tmp1 = Tmp1 & "The time -:4 is " & cHourTo("-:4") & " minutes" & Chr$(13)
  5637.    Tmp1 = Tmp1 & "The time -: is " & cHourTo("-:") & " minutes" & Chr$(13) & Chr$(13)
  5638.  
  5639.    cStartBasisTimer
  5640.    For i = 1 To Item
  5641.       j = cHourTo("23:59")
  5642.    Next i
  5643.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5644.  
  5645.    Label3.Caption = Tmp1
  5646.    
  5647. End Sub
  5648.  
  5649. Private Sub TestInpBox()
  5650.  
  5651.    Dim i       As Integer
  5652.    Dim N       As Integer
  5653.    Dim Tmp     As String
  5654.    Dim Tmp1    As String
  5655.  
  5656.    Tmp = "'T2WIN-16'" & Chr$(13) & Chr$(13)
  5657.    Tmp = Tmp & " is a powerfull data link library for using with Visual Basic 3.0 for Windows." & Chr$(13)
  5658.    Tmp = Tmp & "It looks very better than the standard message box." & Chr$(13)
  5659.    Tmp = Tmp & "All push buttons are displayed in French." & Chr$(13)
  5660.    Tmp = Tmp & "The system menu is also in French."
  5661.  
  5662.    Tmp1 = cLngInpBox(LNG_FRENCH, Tmp, "Input Box in French", "" & Text1.Text)
  5663.  
  5664.    Tmp1 = InputBox$("This is a standard input box", "VB INPUT BOX", "" & Text1.Text)
  5665.  
  5666. End Sub
  5667.  
  5668. Private Sub TestInsertBlocks()
  5669.  
  5670.    Dim Title      As String
  5671.    Dim Tmp        As String
  5672.    Dim Tmp1       As String
  5673.    Dim Tmp2       As String
  5674.    Dim i          As Integer
  5675.    Dim j          As Integer
  5676.    
  5677.  
  5678.    Tmp = "A~BC~DEF~GHIJ~"
  5679.    Title = "Insert 'a','bc','def','ghij' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  5680.    Tmp1 = Title & cInsertBlocks(Tmp, "a~bc~def~ghij") & Chr$(13) & Chr$(13)
  5681.  
  5682.    Title = "Insert '' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  5683.    Tmp1 = Tmp1 & Title & cInsertBlocks(Tmp, "") & Chr$(13) & Chr$(13)
  5684.  
  5685.    cStartBasisTimer
  5686.    For i = 1 To Item
  5687.       Tmp2 = cInsertBlocks(Tmp, "a")
  5688.    Next i
  5689.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5690.  
  5691.    Label3.Caption = Tmp1
  5692.  
  5693. End Sub
  5694.  
  5695. Private Sub TestInsertBlocksBy()
  5696.  
  5697.    Dim Title      As String
  5698.    Dim Tmp        As String
  5699.    Dim Tmp1       As String
  5700.    Dim Tmp2       As String
  5701.    Dim i          As Integer
  5702.    Dim j          As Integer
  5703.    
  5704.  
  5705.    Tmp = Text1.Text
  5706.    Title = "Insert 'a','bc','def','ghij' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  5707.    Tmp1 = Title & cInsertBlocksBy(Tmp, "a/bc/def/ghij", "/") & Chr$(13) & Chr$(13)
  5708.  
  5709.    Title = "Insert '' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  5710.    Tmp1 = Tmp1 & Title & cInsertBlocksBy(Tmp, "", "/") & Chr$(13) & Chr$(13)
  5711.  
  5712.    cStartBasisTimer
  5713.    For i = 1 To Item
  5714.       Tmp2 = cInsertBlocksBy(Tmp, "a/bc/def/ghij", "/")
  5715.    Next i
  5716.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5717.  
  5718.    Label3.Caption = Tmp1
  5719.  
  5720. End Sub
  5721.  
  5722. Private Sub TestInsertChars()
  5723.  
  5724.    Dim Title      As String
  5725.    Dim Tmp        As String
  5726.    Dim Tmp1       As String
  5727.    Dim Tmp2       As String
  5728.    Dim i          As Integer
  5729.    Dim j          As Integer
  5730.  
  5731.    Tmp = Text1.Text
  5732.    Title = "Insert 'a' from 7 char into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  5733.    Tmp1 = Title & cInsertChars(Tmp, 7, "a") & Chr$(13) & Chr$(13)
  5734.  
  5735.    Title = "Insert '10$' from 2 char into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  5736.    Tmp1 = Tmp1 & Title & cInsertChars(Tmp, 2, "10$") & Chr$(13) & Chr$(13)
  5737.  
  5738.    Title = "Insert '@' from 21 char into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  5739.    Tmp1 = Tmp1 & Title & cInsertChars(Tmp, 21, "@") & Chr$(13) & Chr$(13)
  5740.  
  5741.    cStartBasisTimer
  5742.    For i = 1 To Item
  5743.       Tmp2 = cInsertChars(Tmp, 1, "a")
  5744.    Next i
  5745.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5746.  
  5747.    Label3.Caption = Tmp1
  5748.  
  5749. End Sub
  5750.  
  5751. Private Sub TestIntoBalance()
  5752.  
  5753.    Dim Title      As String
  5754.    Dim Tmp        As String
  5755.    Dim Tmp1       As String
  5756.    Dim Tmp2       As String
  5757.    Dim i          As Integer
  5758.    Dim j          As Integer
  5759.    
  5760.  
  5761.    j = 1234
  5762.    Title = "Convert minutes into balance : " & Chr$(13) & Chr$(13)
  5763.    Tmp1 = Title & Chr$(13)
  5764.    For i = 0 To 11
  5765.       Tmp1 = Tmp1 & (j + i) & " { " & cIntoBalanceFill(j + i) & " }" & Chr$(9) & Chr$(9)
  5766.       Tmp1 = Tmp1 & "{ " & cIntoBalance(j + i) & " }" & Chr$(13)
  5767.    Next i
  5768.    Tmp1 = Tmp1 & Chr$(13)
  5769.  
  5770.    cStartBasisTimer
  5771.    For i = 1 To Item
  5772.       Tmp2 = cIntoBalanceFill(i)
  5773.    Next i
  5774.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5775.  
  5776.    Label3.Caption = Tmp1
  5777.  
  5778. End Sub
  5779.  
  5780. Private Sub TestIntoFixHour()
  5781.  
  5782.    Dim Title      As String
  5783.    Dim Tmp        As String
  5784.    Dim Tmp1       As String
  5785.    Dim Tmp2       As String
  5786.    Dim i          As Integer
  5787.    Dim j          As Integer
  5788.    
  5789.  
  5790.    j = 12345
  5791.    Title = "Convert " & j & " minutes into fixed hour : " & Chr$(13) & Chr$(13)
  5792.    Tmp1 = Title & Chr$(13)
  5793.    For i = 0 To 11
  5794.       Tmp1 = Tmp1 & "{ " & cIntoFixHour(j, i, True, False) & " }" & Chr$(9) & Chr$(9)
  5795.       Tmp1 = Tmp1 & "{ " & cIntoFixHour(j, i, False, False) & " }" & Chr$(13)
  5796.    Next i
  5797.    Tmp1 = Tmp1 & Chr$(13)
  5798.  
  5799.    cStartBasisTimer
  5800.    For i = 1 To Item
  5801.       Tmp2 = cIntoFixHour(12345, 8, True, False)
  5802.    Next i
  5803.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5804.  
  5805.    Label3.Caption = Tmp1
  5806.  
  5807. End Sub
  5808.  
  5809. Private Sub TestIntoHour()
  5810.  
  5811.    Dim Title      As String
  5812.    Dim Tmp        As String
  5813.    Dim Tmp1       As String
  5814.    Dim Tmp2       As String
  5815.    Dim i          As Integer
  5816.    Dim j          As Integer
  5817.    
  5818.  
  5819.    j = 1234
  5820.    Title = "Convert minutes into hour : " & Chr$(13) & Chr$(13)
  5821.    Tmp1 = Title & Chr$(13)
  5822.    For i = 0 To 11
  5823.       Tmp1 = Tmp1 & (j + i) & " { " & cIntoHour(j + i) & " }" & Chr$(13)
  5824.    Next i
  5825.    Tmp1 = Tmp1 & Chr$(13)
  5826.  
  5827.    cStartBasisTimer
  5828.    For i = 1 To Item
  5829.       Tmp2 = cIntoHour(i)
  5830.    Next i
  5831.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5832.  
  5833.    Label3.Caption = Tmp1
  5834.  
  5835. End Sub
  5836.  
  5837. Private Sub TestIntoVarHour()
  5838.  
  5839.    Dim Title      As String
  5840.    Dim Tmp        As String
  5841.    Dim Tmp1       As String
  5842.    Dim Tmp2       As String
  5843.    Dim i          As Integer
  5844.    Dim j          As Integer
  5845.    
  5846.    Dim k          As Long
  5847.                             
  5848.    Title = "Convert minutes into variable hour : " & Chr$(13) & Chr$(13)
  5849.    Tmp1 = Title & Chr$(13)
  5850.    
  5851.    For i = 1 To 9
  5852.       Tmp2 = Tmp2 & (10 - i)
  5853.       Tmp1 = Tmp1 & Tmp2 & " { " & cIntoVarHour(Val(Tmp2)) & " }" & Chr$(13)
  5854.    Next i
  5855.    Tmp1 = Tmp1 & Chr$(13)
  5856.  
  5857.    cStartBasisTimer
  5858.    For i = 1 To Item
  5859.       Tmp2 = cIntoVarHour(123456789)
  5860.    Next i
  5861.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5862.  
  5863.    Label3.Caption = Tmp1
  5864.  
  5865. End Sub
  5866.  
  5867. Private Sub TestIsBitPalindrome()
  5868.  
  5869.    Dim Title      As String
  5870.    Dim Tmp        As String
  5871.    Dim Tmp1       As String
  5872.    Dim Tmp2       As String
  5873.    Dim i          As Integer
  5874.    Dim j          As Integer
  5875.    
  5876.  
  5877.    Tmp = Text1.Text
  5878.    Title = "[" & Tmp & "] is "
  5879.  
  5880.    Tmp1 = Title & IIf(cIsPalindrome(Tmp), "a Bit Palindrome", " not a Bit Palindrome") & Chr$(13) & Chr$(13)
  5881.  
  5882.    For i = 1 To 255
  5883.       If cIsBitPalindrome(Chr$(i)) Then Tmp2 = Tmp2 + Chr$(i) & "(" & i & ")" & Chr$(9)
  5884.    Next i
  5885.  
  5886.    Title = "The followings chars are Bit Palindrome : " & Chr$(13) & Chr$(13)
  5887.    Tmp1 = Tmp1 & Title & Tmp2 & Chr$(13) & Chr$(13)
  5888.  
  5889.    cStartBasisTimer
  5890.    For i = 1 To Item
  5891.       j = cIsPalindrome(Tmp)
  5892.    Next i
  5893.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5894.  
  5895.    Label3.Caption = Tmp1
  5896.  
  5897. End Sub
  5898.  
  5899. Private Sub TestIsFileX()
  5900.  
  5901.    Dim Title      As String
  5902.    Dim Tmp        As String
  5903.    Dim Tmp1       As String
  5904.    Dim Tmp2       As String
  5905.    Dim i          As Integer
  5906.    Dim j          As Integer
  5907.    
  5908.  
  5909.    Tmp = cFilesInDirectory("*.*", True)
  5910.    Title = "[" & Tmp & "] is "
  5911.  
  5912.    Tmp1 = Title & Chr$(13) & Chr$(13)
  5913.  
  5914.    Tmp1 = Tmp1 & IIf(cIsFilenameValid(Tmp), " a good filename", " is not a good filename") & Chr$(13)
  5915.    Tmp1 = Tmp1 & IIf(cIsFileArchive(Tmp), " archive", " not archive") & Chr$(13)
  5916.    Tmp1 = Tmp1 & IIf(cIsFileHidden(Tmp), " hidden", " not hidden") & Chr$(13)
  5917.    Tmp1 = Tmp1 & IIf(cIsFileNormal(Tmp), " normal", " not normal") & Chr$(13)
  5918.    Tmp1 = Tmp1 & IIf(cIsFileReadOnly(Tmp), " read-only", " not read-only") & Chr$(13)
  5919.    Tmp1 = Tmp1 & IIf(cIsFileSubDir(Tmp), " sub-directory", " not sub-directory") & Chr$(13)
  5920.    Tmp1 = Tmp1 & IIf(cIsFileSystem(Tmp), " system", " not system") & Chr$(13)
  5921.    Tmp1 = Tmp1 & IIf(cIsFileVolId(Tmp), " volume-id", " not volume-id") & Chr$(13) & Chr$(13)
  5922.    
  5923.    cStartBasisTimer
  5924.    For i = 1 To Item
  5925.       j = cIsFileArchive(Tmp)
  5926.    Next i
  5927.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5928.  
  5929.    Label3.Caption = Tmp1
  5930.  
  5931. End Sub
  5932.  
  5933. Private Sub TestIsPalindrome()
  5934.  
  5935.    Dim Title      As String
  5936.    Dim Tmp        As String
  5937.    Dim Tmp1       As String
  5938.    Dim Tmp2       As String
  5939.    Dim i          As Integer
  5940.    Dim j          As Integer
  5941.    
  5942.  
  5943.    Tmp = Text1.Text
  5944.    Title = "[" & Tmp & "] is "
  5945.  
  5946.    Tmp1 = Title & IIf(cIsPalindrome(Tmp), "a Palindrome", " not a Palindrome") & Chr$(13) & Chr$(13)
  5947.  
  5948.    cStartBasisTimer
  5949.    For i = 1 To Item
  5950.       j = cIsPalindrome(Tmp)
  5951.    Next i
  5952.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5953.  
  5954.    Label3.Caption = Tmp1
  5955.  
  5956. End Sub
  5957.  
  5958. Private Sub TestIsX()
  5959.  
  5960.    Dim Title      As String
  5961.    Dim Tmp        As String
  5962.    Dim Tmp1       As String
  5963.    Dim Tmp2       As String
  5964.    Dim i          As Integer
  5965.    Dim j          As Integer
  5966.    
  5967.  
  5968.    Tmp = Text1.Text
  5969.  
  5970.    Tmp1 = "[" & Tmp & "] is " & Chr$(13)
  5971.  
  5972.    Tmp1 = Tmp1 & IIf(cIsDigit(Tmp), "Digit", " not Digit") & Chr$(13)
  5973.    Tmp1 = Tmp1 & IIf(cIsXdigit(Tmp), "XDigit", " not XDigit") & Chr$(13)
  5974.    Tmp1 = Tmp1 & IIf(cIsAlpha(Tmp), "Alpha", " not Alpha") & Chr$(13)
  5975.    Tmp1 = Tmp1 & IIf(cIsLower(Tmp), "Lower", " not Lower") & Chr$(13)
  5976.    Tmp1 = Tmp1 & IIf(cIsUpper(Tmp), "Upper", " not Upper") & Chr$(13)
  5977.    Tmp1 = Tmp1 & IIf(cIsAlnum(Tmp), "Alnum", " not Alnum") & Chr$(13)
  5978.    Tmp1 = Tmp1 & IIf(cIsUpper(Tmp), "Upper", " not Upper") & Chr$(13)
  5979.    Tmp1 = Tmp1 & IIf(cIsSpace(Tmp), "Space", " not Space") & Chr$(13)
  5980.    Tmp1 = Tmp1 & IIf(cIsPunct(Tmp), "Punct", " not Punct") & Chr$(13)
  5981.    Tmp1 = Tmp1 & IIf(cIsAscii(Tmp), "Ascii", " not Ascii") & Chr$(13)
  5982.    Tmp1 = Tmp1 & IIf(cIsCsym(Tmp), "Csym", " not Csym") & Chr$(13)
  5983.    Tmp1 = Tmp1 & IIf(cIsCsymf(Tmp), "Csymf", " not Csymf") & Chr$(13)
  5984.    Tmp1 = Tmp1 & IIf(cIsISBN(Tmp), "ISBN", " not ISBN") & Chr$(13) & Chr$(13)
  5985.    
  5986.    cStartBasisTimer
  5987.    For i = 1 To Item
  5988.       j = cIsDigit(Tmp)
  5989.    Next i
  5990.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5991.  
  5992.    Label3.Caption = Tmp1
  5993.    
  5994. End Sub
  5995.  
  5996. Private Sub TestKillDir()
  5997.  
  5998.    Dim Title      As String
  5999.    Dim Tmp        As String
  6000.    Dim Tmp1       As String
  6001.    Dim Tmp2       As String
  6002.    Dim i          As Integer
  6003.    Dim j          As Integer
  6004.  
  6005.    j = cMakeDir("c:\testing")
  6006.    Tmp1 = "Directory 'TESTING' " & IIf(cKillDir("c:\testing") = True, "deleted", "not deleted") & Chr$(13) & Chr$(13)
  6007.  
  6008.    cStartBasisTimer
  6009.    For i = 1 To ItemFile
  6010.       j = cKillDir("c:\testing")
  6011.    Next i
  6012.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6013.  
  6014.    Label3.Caption = Tmp1
  6015.  
  6016. End Sub
  6017.  
  6018. Private Sub TestKillFile()
  6019.  
  6020.    Dim Title      As String
  6021.    Dim Tmp        As String
  6022.    Dim Tmp1       As String
  6023.    Dim Tmp2       As String
  6024.    Dim i          As Integer
  6025.    Dim j          As Integer
  6026.    
  6027.  
  6028.    Close #1
  6029.    Open "XY~YX~XY.~~~" For Output As #1
  6030.    Print #1, "this is a test";
  6031.    Close #1
  6032.  
  6033.    Tmp1 = "File XY~YX~XY.~~~ " & IIf(cKillFile("XY~YX~XY.~~~") = True, "destroyed", "not destroyed") & Chr$(13) & Chr$(13)
  6034.  
  6035.    cStartBasisTimer
  6036.    For i = 1 To Item
  6037.       j = cKillFile("XY~YX~XY.~~~")
  6038.    Next i
  6039.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6040.  
  6041.    Label3.Caption = Tmp1
  6042.  
  6043. End Sub
  6044.  
  6045. Private Sub TestKillFiles()
  6046.  
  6047.    Dim Title      As String
  6048.    Dim Tmp        As String
  6049.    Dim Tmp1       As String
  6050.    Dim Tmp2       As String
  6051.    Dim i          As Integer
  6052.    Dim j          As Integer
  6053.    
  6054.    For i = 1 To 34
  6055.       Close #1
  6056.       Open "C:\XY~YX~XY." & i For Output As #1
  6057.       Print #1, "this is a test";
  6058.       Close #1
  6059.    Next i
  6060.  
  6061.    Tmp1 = "Number of killed Files from 'C:XY~YX~XY.1' to 'C:XY~YX~XY.34' is " & cKillFiles("C:\XY~YX~XY.*") & Chr$(13) & Chr$(13)
  6062.  
  6063.    cStartBasisTimer
  6064.    For i = 1 To ItemFile
  6065.       j = cKillFiles("C:\XY~YX~XY.~~~")
  6066.    Next i
  6067.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6068.  
  6069.    Label3.Caption = Tmp1
  6070.  
  6071. End Sub
  6072.  
  6073. Private Sub TestLanguage()
  6074.  
  6075.    Dim Title      As String
  6076.    Dim Tmp        As String
  6077.    Dim Tmp1       As String
  6078.    Dim Tmp2       As String
  6079.    Dim i          As Integer
  6080.    Dim j          As Integer
  6081.    Dim k          As Long
  6082.    Dim ErrCode    As Integer
  6083.  
  6084.    ReDim Lng(LNG_FRENCH To LNG_POLISH)
  6085.  
  6086.    k = Int(Now)
  6087.  
  6088.    Lng(LNG_FRENCH) = "LNG_FRENCH"
  6089.    Lng(LNG_DUTCH) = "LNG_DUTCH"
  6090.    Lng(LNG_GERMAN) = "LNG_GERMAN"
  6091.    Lng(LNG_ENGLISH) = "LNG_ENGLISH"
  6092.    Lng(LNG_ITALIAN) = "LNG_ITALIAN"
  6093.    Lng(LNG_SPANISH) = "LNG_SPANISH"
  6094.    Lng(LNG_CATALAN) = "LNG_CATALAN"
  6095.    Lng(LNG_POLISH) = "LNG_POLISH"
  6096.  
  6097.    Tmp1 = ""
  6098.  
  6099.    For i = LNG_FRENCH To LNG_POLISH
  6100.       Tmp1 = Tmp1 + Lng(i) + " : " + cGetLongDay(i, WeekDay(k)) & " " & Day(k) & " " & cGetLongMonth(i, Month(k)) & " " & Year(k) & Chr$(13)
  6101.    Next i
  6102.  
  6103.    Tmp1 = Tmp1 + Chr$(13)
  6104.  
  6105.    For i = LNG_FRENCH To LNG_POLISH
  6106.       Tmp1 = Tmp1 + Lng(i) + " : " + cGetShortDay(i, WeekDay(k)) & " " & Day(k) & " " & cGetShortMonth(i, Month(k)) & " " & Year(k) & Chr$(13)
  6107.    Next i
  6108.  
  6109.    Tmp1 = Tmp1 + Chr$(13)
  6110.  
  6111.    cStartBasisTimer
  6112.    For i = 1 To Item
  6113.       Tmp = cGetLongMonth(LNG_FRENCH, 12)
  6114.    Next i
  6115.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6116.  
  6117.    Label3.Caption = Tmp1
  6118.  
  6119. End Sub
  6120.  
  6121. Private Sub TestLrc()
  6122.  
  6123.    Dim Title      As String
  6124.    Dim Tmp        As String
  6125.    Dim Tmp1       As String
  6126.    Dim Tmp2       As String
  6127.    Dim i          As Integer
  6128.    Dim j          As Integer
  6129.    
  6130.  
  6131.    Tmp = Chr$(2) & "0a12721536"
  6132.    Tmp1 = "Lrc for [" & Tmp & "] is " & cLrc(Tmp) & Chr$(13) & Chr$(13)
  6133.  
  6134.    cStartBasisTimer
  6135.    For i = 1 To Item
  6136.       Tmp2 = cLrc(Tmp)
  6137.    Next i
  6138.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6139.  
  6140.    Label3.Caption = Tmp1
  6141.  
  6142. End Sub
  6143.  
  6144. Private Sub TestMakeDir()
  6145.  
  6146.    Dim Title      As String
  6147.    Dim Tmp        As String
  6148.    Dim Tmp1       As String
  6149.    Dim Tmp2       As String
  6150.    Dim i          As Integer
  6151.    Dim j          As Integer
  6152.  
  6153.    j = cKillDir("testing")
  6154.    Tmp1 = "Directory 'TESTING' " & IIf(cMakeDir("testing") = True, "created", "not created") & Chr$(13) & Chr$(13)
  6155.  
  6156.    cStartBasisTimer
  6157.    For i = 1 To ItemFile
  6158.       j = cMakeDir("testing")
  6159.    Next i
  6160.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6161.  
  6162.    Label3.Caption = Tmp1
  6163.  
  6164. End Sub
  6165.  
  6166. Private Sub TestMakePath()
  6167.  
  6168.    Dim Title      As String
  6169.    Dim Tmp        As String
  6170.    Dim Tmp1       As String
  6171.    Dim Tmp2       As String
  6172.    Dim Tmp3       As String
  6173.    Dim i          As Integer
  6174.    Dim N          As Integer
  6175.    Dim j          As Long
  6176.    Dim SPLITPATH  As tagSPLITPATH
  6177.  
  6178.    Tmp1 = ""
  6179.    Tmp = cMakePath("c", "tmp", "test", "dat")
  6180.  
  6181.    Tmp1 = Tmp1 & "Make Path of (c,tmp,test,dat) is '" & Tmp & "'" & Chr$(13) & Chr$(13)
  6182.    
  6183.    Tmp1 = Tmp1 & "Split Path '" & Tmp & "' into four components is :" & Chr$(13) & Chr$(13)
  6184.    N = cSplitPath(Tmp, SPLITPATH)
  6185.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & Chr$(13)
  6186.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & Chr$(13)
  6187.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & Chr$(13)
  6188.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & Chr$(13) & Chr$(13)
  6189.  
  6190.    cStartBasisTimer
  6191.    For i = 1 To Item
  6192.       Tmp = cMakePath("c", "tmp", "test", "dat")
  6193.    Next i
  6194.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6195.  
  6196.    Label3.Caption = Tmp1
  6197.  
  6198. End Sub
  6199.  
  6200. Private Sub TestMatrixAdd()
  6201.  
  6202.    Dim Tmp1       As String
  6203.  
  6204.    Dim TmpA       As String
  6205.    Dim TmpB       As String
  6206.    Dim TmpC       As String
  6207.  
  6208.    Dim i          As Integer
  6209.    Dim j          As Integer
  6210.    
  6211.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  6212.    ReDim ArrayB(1 To 3, 1 To 3) As Double
  6213.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  6214.  
  6215.    Randomize Timer
  6216.  
  6217.    For i = 1 To 3
  6218.       For j = 1 To 3
  6219.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6220.          ArrayB(i, j) = Int(RandI * Rnd(1))
  6221.          ArrayC(i, j) = 0
  6222.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6223.          TmpB = TmpB + Format$(ArrayB(i, j), "00000  ")
  6224.       Next j
  6225.       TmpA = TmpA + Chr$(13)
  6226.       TmpB = TmpB + Chr$(13)
  6227.    Next i
  6228.  
  6229.    Call cMatrixAdd(3, ArrayA(), ArrayB(), ArrayC())
  6230.  
  6231.    For i = 1 To 3
  6232.       For j = 1 To 3
  6233.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  6234.       Next j
  6235.       TmpC = TmpC + Chr$(13)
  6236.    Next i
  6237.  
  6238.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  6239.    Tmp1 = Tmp1 & "Second array (B) is " & Chr$(13) & Chr$(13) & TmpB & Chr$(13)
  6240.    Tmp1 = Tmp1 & "The sum (A) + (B) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  6241.  
  6242.    cStartBasisTimer
  6243.    For i = 1 To ItemFile
  6244.       Call cMatrixAdd(3, ArrayA(), ArrayB(), ArrayC())
  6245.    Next i
  6246.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6247.  
  6248.    Label3.Caption = Tmp1
  6249.  
  6250. End Sub
  6251.  
  6252. Private Sub TestMatrixCompare()
  6253.  
  6254.    Dim Tmp1       As String
  6255.  
  6256.    Dim TmpA       As String
  6257.    Dim TmpC       As String
  6258.  
  6259.    Dim i          As Integer
  6260.    Dim j          As Integer
  6261.  
  6262.    Dim Idem       As Integer
  6263.    
  6264.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  6265.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  6266.  
  6267.    Randomize Timer
  6268.  
  6269.    For i = 1 To 3
  6270.       For j = 1 To 3
  6271.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6272.          ArrayC(i, j) = Int(RandI * Rnd(1))
  6273.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6274.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  6275.       Next j
  6276.       TmpA = TmpA + Chr$(13)
  6277.       TmpC = TmpC + Chr$(13)
  6278.    Next i
  6279.  
  6280.    Idem = cMatrixCompare(3, ArrayA(), ArrayC())
  6281.  
  6282.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  6283.    Tmp1 = Tmp1 & "Second array (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  6284.    Tmp1 = Tmp1 & "Compare of (A) = (C) is " & Idem & Chr$(13) & Chr$(13)
  6285.  
  6286.    TmpA = ""
  6287.    TmpC = ""
  6288.  
  6289.    For i = 1 To 3
  6290.       For j = 1 To 3
  6291.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6292.          ArrayC(i, j) = ArrayA(i, j)
  6293.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6294.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  6295.       Next j
  6296.       TmpA = TmpA + Chr$(13)
  6297.       TmpC = TmpC + Chr$(13)
  6298.    Next i
  6299.  
  6300.    Idem = cMatrixCompare(3, ArrayA(), ArrayC())
  6301.  
  6302.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  6303.    Tmp1 = Tmp1 & "Second array (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  6304.    Tmp1 = Tmp1 & "Compare of (A) = (C) is " & Idem & Chr$(13) & Chr$(13)
  6305.  
  6306.    cStartBasisTimer
  6307.    For i = 1 To ItemFile
  6308.       Idem = cMatrixCompare(3, ArrayA(), ArrayC())
  6309.    Next i
  6310.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6311.  
  6312.    Label3.Caption = Tmp1
  6313.  
  6314. End Sub
  6315.  
  6316. Private Sub TestMatrixCopy()
  6317.  
  6318.    Dim Tmp1       As String
  6319.  
  6320.    Dim TmpA       As String
  6321.    Dim TmpC       As String
  6322.  
  6323.    Dim i          As Integer
  6324.    Dim j          As Integer
  6325.    
  6326.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  6327.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  6328.  
  6329.    Randomize Timer
  6330.  
  6331.    For i = 1 To 3
  6332.       For j = 1 To 3
  6333.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6334.          ArrayC(i, j) = 0
  6335.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6336.       Next j
  6337.       TmpA = TmpA + Chr$(13)
  6338.    Next i
  6339.  
  6340.    Call cMatrixCopy(3, ArrayA(), ArrayC())
  6341.  
  6342.    For i = 1 To 3
  6343.       For j = 1 To 3
  6344.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  6345.       Next j
  6346.       TmpC = TmpC + Chr$(13)
  6347.    Next i
  6348.  
  6349.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  6350.    Tmp1 = Tmp1 & "Copy of (A) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  6351.  
  6352.    cStartBasisTimer
  6353.    For i = 1 To ItemFile
  6354.       Call cMatrixCopy(3, ArrayA(), ArrayC())
  6355.    Next i
  6356.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6357.  
  6358.    Label3.Caption = Tmp1
  6359.  
  6360. End Sub
  6361.  
  6362. Private Sub TestMatrixDet()
  6363.  
  6364.    Dim Tmp1       As String
  6365.  
  6366.    Dim TmpA       As String
  6367.    Dim TmpC       As String
  6368.  
  6369.    Dim i          As Integer
  6370.    Dim j          As Integer
  6371.  
  6372.    Dim det        As Double
  6373.    Dim nSize      As Integer
  6374.  
  6375.    nSize = 3
  6376.    
  6377.    ReDim ArrayA(1 To nSize, 1 To nSize) As Double
  6378.  
  6379.    Randomize Timer
  6380.  
  6381.    For i = 1 To nSize
  6382.       For j = 1 To nSize
  6383.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6384.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6385.       Next j
  6386.       TmpA = TmpA + Chr$(13)
  6387.    Next i
  6388.  
  6389.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  6390.    Tmp1 = Tmp1 & "Det of (A) = " & cMatrixDet(nSize, ArrayA()) & Chr$(13) & Chr$(13)
  6391.  
  6392.    cStartBasisTimer
  6393.    For i = 1 To ItemFile
  6394.       det = cMatrixDet(nSize, ArrayA())
  6395.       DoEvents
  6396.    Next i
  6397.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6398.  
  6399.    Label3.Caption = Tmp1
  6400.  
  6401. End Sub
  6402.  
  6403. Private Sub TestMatrixInv()
  6404.  
  6405.    Dim Tmp1       As String
  6406.  
  6407.    Dim TmpA       As String
  6408.    Dim TmpC       As String
  6409.  
  6410.    Dim i          As Integer
  6411.    Dim j          As Integer
  6412.    Dim result     As Integer
  6413.    
  6414.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  6415.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  6416.  
  6417.    Randomize Timer
  6418.  
  6419.    result = cMatrixFill(3, ArrayA(), MATRIX_ZERO)
  6420.    result = cMatrixFill(3, ArrayC(), MATRIX_UNIT)
  6421.  
  6422.    For i = 1 To 3
  6423.       For j = 1 To 3
  6424.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6425.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6426.       Next j
  6427.       TmpA = TmpA + Chr$(13)
  6428.    Next i
  6429.    
  6430.    result = cMatrixInv(3, ArrayA(), ArrayC())
  6431.  
  6432.    If (result = True) Then
  6433.  
  6434.       For i = 1 To 3
  6435.          For j = 1 To 3
  6436.             TmpC = TmpC + Format$(ArrayC(i, j), "0.0000000  ")
  6437.          Next j
  6438.          TmpC = TmpC + Chr$(13)
  6439.       Next i
  6440.  
  6441.    Else
  6442.  
  6443.       TmpC = " 'can be inverted'"
  6444.  
  6445.    End If
  6446.  
  6447.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & TmpA & Chr$(13)
  6448.    Tmp1 = Tmp1 & "Inv of (A) = (C) is " & Chr$(13) & TmpC & Chr$(13)
  6449.  
  6450.    '
  6451.  
  6452.    TmpA = ""
  6453.    TmpC = ""
  6454.  
  6455.    result = cMatrixFill(3, ArrayA(), MATRIX_ZERO)
  6456.    result = cMatrixFill(3, ArrayC(), MATRIX_ZERO)
  6457.  
  6458.    For i = 1 To 3
  6459.       For j = 1 To 3
  6460.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6461.       Next j
  6462.       TmpA = TmpA + Chr$(13)
  6463.    Next i
  6464.    
  6465.    result = cMatrixInv(3, ArrayA(), ArrayC())
  6466.  
  6467.    If (result = True) Then
  6468.  
  6469.       For i = 1 To 3
  6470.          For j = 1 To 3
  6471.             TmpC = TmpC + Format$(ArrayC(i, j), "0.0000000  ")
  6472.          Next j
  6473.          TmpC = TmpC + Chr$(13)
  6474.       Next i
  6475.  
  6476.    Else
  6477.  
  6478.       TmpC = " 'can be inverted'"
  6479.  
  6480.    End If
  6481.  
  6482.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & TmpA & Chr$(13)
  6483.    Tmp1 = Tmp1 & "Inv of (A) = (C) is " & Chr$(13) & TmpC & Chr$(13) & Chr$(13)
  6484.  
  6485.    For i = 1 To 3
  6486.       For j = 1 To 3
  6487.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6488.       Next j
  6489.    Next i
  6490.  
  6491.    cStartBasisTimer
  6492.    For i = 1 To ItemFile
  6493.       result = cMatrixInv(3, ArrayA(), ArrayC())
  6494.    Next i
  6495.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6496.  
  6497.    Label3.Caption = Tmp1
  6498.  
  6499. End Sub
  6500.  
  6501. Private Sub TestMatrixMinCo()
  6502.  
  6503.    Dim Tmp1       As String
  6504.  
  6505.    Dim TmpA       As String
  6506.    Dim TmpC       As String
  6507.  
  6508.    Dim i          As Integer
  6509.    Dim j          As Integer
  6510.  
  6511.    Dim cofact     As Double
  6512.    Dim nSize      As Integer
  6513.  
  6514.    nSize = 3
  6515.    
  6516.    ReDim ArrayA(1 To nSize, 1 To nSize) As Double
  6517.  
  6518.    Randomize Timer
  6519.  
  6520.    For i = 1 To nSize
  6521.       For j = 1 To nSize
  6522.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6523.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6524.       Next j
  6525.       TmpA = TmpA + Chr$(13)
  6526.    Next i
  6527.  
  6528.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13) & Chr$(13)
  6529.    Tmp1 = Tmp1 & "CoFactor of A(1,1) = " & cMatrixCoFactor(nSize, ArrayA(), 1, 1) & Chr$(13)
  6530.    Tmp1 = Tmp1 & "CoFactor of A(2,2) = " & cMatrixCoFactor(nSize, ArrayA(), 2, 2) & Chr$(13)
  6531.    Tmp1 = Tmp1 & "CoFactor of A(3,3) = " & cMatrixCoFactor(nSize, ArrayA(), 3, 3) & Chr$(13) & Chr$(13)
  6532.    Tmp1 = Tmp1 & "Minor of A(1,1) = " & cMatrixMinor(nSize, ArrayA(), 1, 1) & Chr$(13)
  6533.    Tmp1 = Tmp1 & "Minor of A(2,2) = " & cMatrixMinor(nSize, ArrayA(), 2, 2) & Chr$(13)
  6534.    Tmp1 = Tmp1 & "Minor of A(3,3) = " & cMatrixMinor(nSize, ArrayA(), 3, 3) & Chr$(13) & Chr$(13)
  6535.  
  6536.    cStartBasisTimer
  6537.    For i = 1 To ItemFile
  6538.       cofact = cMatrixCoFactor(nSize, ArrayA(), 1, 1)
  6539.    Next i
  6540.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6541.  
  6542.    Label3.Caption = Tmp1
  6543.  
  6544. End Sub
  6545.  
  6546. Private Sub TestMatrixMul()
  6547.  
  6548.    Dim Tmp1       As String
  6549.  
  6550.    Dim TmpA       As String
  6551.    Dim TmpB       As String
  6552.    Dim TmpC       As String
  6553.  
  6554.    Dim i          As Integer
  6555.    Dim j          As Integer
  6556.    
  6557.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  6558.    ReDim ArrayB(1 To 3, 1 To 3) As Double
  6559.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  6560.  
  6561.    Randomize Timer
  6562.  
  6563.    For i = 1 To 3
  6564.       For j = 1 To 3
  6565.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6566.          ArrayB(i, j) = Int(RandI * Rnd(1))
  6567.          ArrayC(i, j) = 0
  6568.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6569.          TmpB = TmpB + Format$(ArrayB(i, j), "00000  ")
  6570.       Next j
  6571.       TmpA = TmpA + Chr$(13)
  6572.       TmpB = TmpB + Chr$(13)
  6573.    Next i
  6574.  
  6575.    Call cMatrixMul(3, ArrayA(), ArrayB(), ArrayC())
  6576.  
  6577.    For i = 1 To 3
  6578.       For j = 1 To 3
  6579.          TmpC = TmpC + Format$(ArrayC(i, j), "000000000000  ")
  6580.       Next j
  6581.       TmpC = TmpC + Chr$(13)
  6582.    Next i
  6583.  
  6584.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  6585.    Tmp1 = Tmp1 & "Second array (B) is " & Chr$(13) & Chr$(13) & TmpB & Chr$(13)
  6586.    Tmp1 = Tmp1 & "The multiply (A) . (B) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  6587.  
  6588.    cStartBasisTimer
  6589.    For i = 1 To ItemFile
  6590.       Call cMatrixMul(3, ArrayA(), ArrayB(), ArrayC())
  6591.    Next i
  6592.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6593.  
  6594.    Label3.Caption = Tmp1
  6595.  
  6596. End Sub
  6597.  
  6598. Private Sub TestMatrixSub()
  6599.  
  6600.    Dim Tmp1       As String
  6601.  
  6602.    Dim TmpA       As String
  6603.    Dim TmpB       As String
  6604.    Dim TmpC       As String
  6605.  
  6606.    Dim i          As Integer
  6607.    Dim j          As Integer
  6608.    
  6609.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  6610.    ReDim ArrayB(1 To 3, 1 To 3) As Double
  6611.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  6612.  
  6613.    Randomize Timer
  6614.  
  6615.    For i = 1 To 3
  6616.       For j = 1 To 3
  6617.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6618.          ArrayB(i, j) = Int(RandI * Rnd(1))
  6619.          ArrayC(i, j) = 0
  6620.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6621.          TmpB = TmpB + Format$(ArrayB(i, j), "00000  ")
  6622.       Next j
  6623.       TmpA = TmpA + Chr$(13)
  6624.       TmpB = TmpB + Chr$(13)
  6625.    Next i
  6626.  
  6627.    Call cMatrixSub(3, ArrayA(), ArrayB(), ArrayC())
  6628.  
  6629.    For i = 1 To 3
  6630.       For j = 1 To 3
  6631.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  6632.       Next j
  6633.       TmpC = TmpC + Chr$(13)
  6634.    Next i
  6635.  
  6636.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  6637.    Tmp1 = Tmp1 & "Second array (B) is " & Chr$(13) & Chr$(13) & TmpB & Chr$(13)
  6638.    Tmp1 = Tmp1 & "The substract (A) - (B) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  6639.  
  6640.    cStartBasisTimer
  6641.    For i = 1 To ItemFile
  6642.       Call cMatrixSub(3, ArrayA(), ArrayB(), ArrayC())
  6643.    Next i
  6644.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6645.  
  6646.    Label3.Caption = Tmp1
  6647.  
  6648. End Sub
  6649.  
  6650. Private Sub TestMatrixSymToeplitz()
  6651.  
  6652.    Dim Tmp1       As String
  6653.  
  6654.    Dim TmpA       As String
  6655.    Dim TmpC       As String
  6656.  
  6657.    Dim i          As Integer
  6658.    Dim j          As Integer
  6659.    Dim result     As Integer
  6660.    
  6661.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  6662.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  6663.  
  6664.    Randomize Timer
  6665.  
  6666.    For i = 1 To 1
  6667.       For j = 1 To 3
  6668.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6669.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6670.       Next j
  6671.       TmpA = TmpA + Chr$(13)
  6672.    Next i
  6673.  
  6674.    result = cMatrixSymToeplitz(3, ArrayA(), ArrayC())
  6675.  
  6676.    For i = 1 To 3
  6677.       For j = 1 To 3
  6678.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  6679.       Next j
  6680.       TmpC = TmpC + Chr$(13)
  6681.    Next i
  6682.  
  6683.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  6684.    Tmp1 = Tmp1 & "Symmetrical Toeplitz of (A) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  6685.  
  6686.    cStartBasisTimer
  6687.    For i = 1 To ItemFile
  6688.       result = cMatrixSymToeplitz(3, ArrayA(), ArrayC())
  6689.    Next i
  6690.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6691.  
  6692.    Label3.Caption = Tmp1
  6693.  
  6694. End Sub
  6695.  
  6696. Private Sub TestMatrixTranspose()
  6697.  
  6698.    Dim Tmp1       As String
  6699.  
  6700.    Dim TmpA       As String
  6701.    Dim TmpC       As String
  6702.  
  6703.    Dim i          As Integer
  6704.    Dim j          As Integer
  6705.    
  6706.    ReDim ArrayA(1 To 3, 1 To 3) As Double
  6707.    ReDim ArrayC(1 To 3, 1 To 3) As Double
  6708.  
  6709.    Randomize Timer
  6710.  
  6711.    For i = 1 To 3
  6712.       For j = 1 To 3
  6713.          ArrayA(i, j) = Int(RandI * Rnd(1))
  6714.          ArrayC(i, j) = 0
  6715.          TmpA = TmpA + Format$(ArrayA(i, j), "00000  ")
  6716.       Next j
  6717.       TmpA = TmpA + Chr$(13)
  6718.    Next i
  6719.  
  6720.    Call cMatrixTranspose(3, ArrayA(), ArrayC())
  6721.  
  6722.    For i = 1 To 3
  6723.       For j = 1 To 3
  6724.          TmpC = TmpC + Format$(ArrayC(i, j), "00000  ")
  6725.       Next j
  6726.       TmpC = TmpC + Chr$(13)
  6727.    Next i
  6728.  
  6729.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  6730.    Tmp1 = Tmp1 & "Transpose of (A) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  6731.  
  6732.    cStartBasisTimer
  6733.    For i = 1 To ItemFile
  6734.       Call cMatrixTranspose(3, ArrayA(), ArrayC())
  6735.    Next i
  6736.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6737.  
  6738.    Label3.Caption = Tmp1
  6739.  
  6740. End Sub
  6741.  
  6742. Private Sub TestMaxI()
  6743.  
  6744.    Dim Title      As String
  6745.    Dim Tmp        As String
  6746.    Dim Tmp1       As String
  6747.    Dim Tmp2       As String
  6748.    Dim i          As Integer
  6749.    Dim j          As Integer
  6750.    Dim m          As Double
  6751.    
  6752.    ReDim array(ItemMean) As Integer
  6753.    Randomize Timer
  6754.  
  6755.    For i = LBound(array) To UBound(array)
  6756.       array(i) = RandI * Rnd(1)
  6757.       List1.AddItem "" & array(i)
  6758.    Next i
  6759.    
  6760.    j = cSortI(array())
  6761.  
  6762.    For i = LBound(array) To UBound(array)
  6763.       List2.AddItem "" & array(i)
  6764.    Next i
  6765.  
  6766.    List2.ListIndex = List2.ListCount - 1
  6767.  
  6768.    Tmp1 = "The MAX of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cMaxI(array()) & Chr$(13) & Chr$(13)
  6769.  
  6770.    cStartBasisTimer
  6771.    For i = 1 To ItemFile
  6772.       m = cMaxI(array())
  6773.    Next i
  6774.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6775.  
  6776.    Label3.Caption = Tmp1
  6777.  
  6778. End Sub
  6779.  
  6780. Private Sub TestMD5()
  6781.  
  6782.    Dim Title      As String
  6783.    Dim Tmp        As String
  6784.    Dim Tmp1       As String
  6785.    Dim Tmp2       As String
  6786.    Dim Tmp3       As String
  6787.    Dim i          As Integer
  6788.    Dim j          As Long
  6789.  
  6790.    Tmp2 = "T2WIN-16"
  6791.    Tmp = Text1.Text
  6792.  
  6793.    Tmp1 = "HashMD5 for '" & Tmp2 & "' is " & cHashMD5(Tmp2) & Chr$(13) & Chr$(13)
  6794.    
  6795.    Tmp1 = Tmp1 & "HashMD5 for '" & Tmp & "' is " & cHashMD5(Tmp) & Chr$(13) & Chr$(13)
  6796.    
  6797.    Tmp1 = Tmp1 & "HashMD5 for '" & LCase$(Tmp2) & "' is " & cHashMD5(LCase$(Tmp2)) & Chr$(13) & Chr$(13)
  6798.    
  6799.    Tmp1 = Tmp1 & "HashMD5 for '" & LCase$(Tmp) & "' is " & cHashMD5(LCase$(Tmp)) & Chr$(13) & Chr$(13)
  6800.    
  6801.    Tmp1 = Tmp1 & "HashMD5 for '" & Left$(Tmp2, 3) & "' is " & cHashMD5(Left$(Tmp2, 3)) & Chr$(13) & Chr$(13)
  6802.  
  6803.    cStartBasisTimer
  6804.    For i = 1 To Item
  6805.       Tmp3 = cHashMD5(Tmp2)
  6806.    Next i
  6807.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6808.  
  6809.    Label3.Caption = Tmp1
  6810.  
  6811. End Sub
  6812.  
  6813. Private Sub TestMDA(Management As Integer)
  6814.  
  6815.    Dim Tmp        As String
  6816.    Dim ErrCode    As Integer
  6817.    Dim MDA        As tagMULTIPLEDISKARRAY
  6818.    Dim TE         As tagTASKENTRY
  6819.  
  6820.    ErrCode = cMakeDir("c:\t2w_tmp")
  6821.  
  6822.    MDA.nFilename = "c:\t2w_tmp\mda.tmp"
  6823.  
  6824.    MDA.nType(1) = DA_LONG     'long
  6825.    MDA.nIsTyped(1) = False
  6826.    MDA.nRows(1) = 20
  6827.    MDA.nCols(1) = 20
  6828.    MDA.nSheets(1) = 2
  6829.  
  6830.    MDA.nType(2) = 10          'string
  6831.    MDA.nIsTyped(2) = False
  6832.    MDA.nRows(2) = 20
  6833.    MDA.nCols(2) = 20
  6834.    MDA.nSheets(2) = 2
  6835.    
  6836.    MDA.nType(9) = Len(TE)     'type'd
  6837.    MDA.nIsTyped(9) = True
  6838.    MDA.nRows(9) = 20
  6839.    MDA.nCols(9) = 20
  6840.    MDA.nSheets(9) = 2
  6841.    
  6842.    Select Case Management
  6843.       Case True      'create
  6844.          ErrCode = cMDACreate(MDA, True)
  6845.       Case False     'use
  6846.          ErrCode = cMDACreate(MDA, False)
  6847.       Case 1         'clear all
  6848.          ErrCode = cMDACreate(MDA, False)
  6849.          If (ErrCode = -1) Then ErrCode = cMDAClear(1, MDA)
  6850.          If (ErrCode = -1) Then ErrCode = cMDAClear(2, MDA)
  6851.          If (ErrCode = -1) Then ErrCode = cMDAClear(9, MDA)
  6852.       Case 2         'clear sheet 2
  6853.          ErrCode = cMDACreate(MDA, False)
  6854.          If (ErrCode = -1) Then ErrCode = cMDAClearSheet(1, MDA, 2)
  6855.          If (ErrCode = -1) Then ErrCode = cMDAClearSheet(2, MDA, 2)
  6856.          If (ErrCode = -1) Then ErrCode = cMDAClearSheet(9, MDA, 2)
  6857.       Case 3         'clear last row
  6858.          ErrCode = cMDACreate(MDA, False)
  6859.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(1, MDA, MDA.nRows(1), 1)
  6860.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(2, MDA, MDA.nRows(2), 1)
  6861.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(9, MDA, MDA.nRows(9), 1)
  6862.       Case 4         'clear last col
  6863.          ErrCode = cMDACreate(MDA, False)
  6864.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(1, MDA, MDA.nCols(1), 1)
  6865.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(2, MDA, MDA.nCols(2), 1)
  6866.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(9, MDA, MDA.nCols(9), 1)
  6867.       Case 5         'clear last row in all sheets
  6868.          ErrCode = cMDACreate(MDA, False)
  6869.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(1, MDA, MDA.nRows(1), -1)
  6870.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(2, MDA, MDA.nRows(2), -1)
  6871.          If (ErrCode = -1) Then ErrCode = cMDAClearRow(9, MDA, MDA.nRows(9), -1)
  6872.       Case 6         'clear last col in all sheets
  6873.          ErrCode = cMDACreate(MDA, False)
  6874.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(1, MDA, MDA.nCols(1), -1)
  6875.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(2, MDA, MDA.nCols(2), -1)
  6876.          If (ErrCode = -1) Then ErrCode = cMDAClearCol(9, MDA, MDA.nCols(9), -1)
  6877.    End Select
  6878.  
  6879.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  6880.  
  6881.    If (ErrCode = True) Then
  6882.       
  6883.       Tmp = Tmp & "MDA.daSize          = " & MDA.daSize & Chr$(13)
  6884.       Tmp = Tmp & "MDA.Signature       = " & MDA.signature & Chr$(13)
  6885.       Tmp = Tmp & "MDA.nFilename       = " & Trim$(MDA.nFilename) & Chr$(13)
  6886.       Tmp = Tmp & "MDA.rHandle         = " & MDA.rHandle & Chr$(13)
  6887.       Tmp = Tmp & "MDA.rFileSize       = " & MDA.rFileSize & Chr$(13) & Chr$(13)
  6888.  
  6889.       Tmp = Tmp & "MDA.nType(1)(2)(9)        = (" & MDA.nType(1) & ") (" & MDA.nType(2) & ") (" & MDA.nType(9) & ")" & Chr$(13)
  6890.       Tmp = Tmp & "MDA.nIsTyped(1)(2)(9)     = (" & MDA.nIsTyped(1) & ") (" & MDA.nIsTyped(2) & ") (" & MDA.nIsTyped(9) & ")" & Chr$(13)
  6891.       Tmp = Tmp & "MDA.nRows(1)(2)(9)        = (" & MDA.nRows(1) & ") (" & MDA.nRows(2) & ") (" & MDA.nRows(9) & ")" & Chr$(13)
  6892.       Tmp = Tmp & "MDA.nCols(1)(2)(9)        = (" & MDA.nCols(1) & ") (" & MDA.nCols(2) & ") (" & MDA.nCols(9) & ")" & Chr$(13)
  6893.       Tmp = Tmp & "MDA.nSheets(1)(2)(9)      = (" & MDA.nSheets(1) & ") (" & MDA.nSheets(2) & ") (" & MDA.nSheets(9) & ")" & Chr$(13)
  6894.       Tmp = Tmp & "MDA.rElementSz(1)(2)(9)   = (" & MDA.rElementSz(1) & ") (" & MDA.rElementSz(2) & ") (" & MDA.rElementSz(9) & ")" & Chr$(13)
  6895.       Tmp = Tmp & "MDA.rSheetSz(1)(2)(9)     = (" & MDA.rSheetSz(1) & ") (" & MDA.rSheetSz(2) & ") (" & MDA.rSheetSz(9) & ")" & Chr$(13)
  6896.       Tmp = Tmp & "MDA.rOffsetPos(1)(2)(9)   = (" & MDA.rOffsetPos(1) & ") (" & MDA.rOffsetPos(2) & ") (" & MDA.rOffsetPos(9) & ")" & Chr$(13) & Chr$(13)
  6897.  
  6898.       If (Management = True) Then
  6899.  
  6900.          Call cMDAPut(1, MDA, 1, 1, 1, 123456789)
  6901.          Call cMDAPut(1, MDA, MDA.nRows(1), MDA.nCols(1), MDA.nSheets(1), 987654321)
  6902.       
  6903.          Call cMDAPut(2, MDA, 1, 1, 1, "S:1, ABCDEFGHIJ")
  6904.          Call cMDAPut(2, MDA, MDA.nRows(2), MDA.nCols(2), MDA.nSheets(2), "S:" & MDA.nSheets(2) & ", oprqstuvwxyz")
  6905.       
  6906.          ErrCode = cTasks(TE, True)
  6907.          Call cMDAPutType(9, MDA, 1, 1, 1, TE)
  6908.          ErrCode = cTasks(TE, False)
  6909.          Call cMDAPutType(9, MDA, MDA.nRows(9), MDA.nCols(9), MDA.nSheets(9), TE)
  6910.       
  6911.       End If
  6912.    
  6913.       Tmp = Tmp & "A:1  , R:1  , C:1  , S:1, Value : " & Trim$(cMDAGet(1, MDA, 1, 1, 1)) & "   , time : " & MDA.rTime & Chr$(13)
  6914.       Tmp = Tmp & "A:1  , R:" & MDA.nRows(1) & ", C:" & MDA.nCols(1) & ", S:" & MDA.nSheets(1) & ", Value : " & Trim$(cMDAGet(1, MDA, MDA.nRows(1), MDA.nCols(1), MDA.nSheets(1))) & "   , time : " & MDA.rTime & Chr$(13)
  6915.  
  6916.       Tmp = Tmp & "A:2  , R:1  , C:1  , S:1, Value : " & Trim$(cMDAGet(2, MDA, 1, 1, 1)) & "   , time : " & MDA.rTime & Chr$(13)
  6917.       Tmp = Tmp & "A:2  , R:" & MDA.nRows(2) & ", C:" & MDA.nCols(2) & ", S:" & MDA.nSheets(2) & ", Value : " & Trim$(cMDAGet(2, MDA, MDA.nRows(2), MDA.nCols(2), MDA.nSheets(2))) & "   , time : " & MDA.rTime & Chr$(13)
  6918.  
  6919.       Call cMDAGetType(9, MDA, 1, 1, 1, TE)
  6920.       Tmp = Tmp & "A:9  , R:1  , C:1  , S:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & MDA.rTime & Chr$(13)
  6921.       Call cMDAGetType(9, MDA, MDA.nRows(9), MDA.nCols(9), MDA.nSheets(9), TE)
  6922.       Tmp = Tmp & "A:9  , R:" & MDA.nRows(9) & ", C:" & MDA.nCols(9) & ", S:" & MDA.nSheets(9) & ", TE.szModule : " & cCompress(TE.szModule) & "   , time : " & MDA.rTime & Chr$(13)
  6923.  
  6924.    End If
  6925.  
  6926.    Call cMDAClose(MDA, False)
  6927.  
  6928.    Label3.Caption = Tmp
  6929.    
  6930. End Sub
  6931.  
  6932. Private Sub TestMeanI()
  6933.  
  6934.    Dim Title      As String
  6935.    Dim Tmp        As String
  6936.    Dim Tmp1       As String
  6937.    Dim Tmp2       As String
  6938.    Dim i          As Integer
  6939.    Dim j          As Integer
  6940.    Dim m          As Double
  6941.    
  6942.    ReDim array(ItemMean) As Integer
  6943.    Randomize Timer
  6944.  
  6945.    m = 0
  6946.    For i = LBound(array) To UBound(array)
  6947.       array(i) = Int(RandI * Rnd(1))
  6948.       m = m + array(i)
  6949.       List1.AddItem "" & array(i)
  6950.    Next i
  6951.    
  6952.    Tmp1 = "The Mean of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cMeanI(array()) & " (" & (m / (UBound(array) - LBound(array) + 1)) & ")" & Chr$(13) & Chr$(13)
  6953.  
  6954.    cStartBasisTimer
  6955.    For i = 1 To ItemFile
  6956.       m = cMeanI(array())
  6957.    Next i
  6958.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6959.  
  6960.    Label3.Caption = Tmp1
  6961.  
  6962. End Sub
  6963.  
  6964. Private Sub TestMenuChange()
  6965.  
  6966.    Call cSysMenuChange(Me.hWnd, 0, "&Restaurer")
  6967.    Call cSysMenuChange(Me.hWnd, 1, "&Positionner")
  6968.    Call cSysMenuChange(Me.hWnd, 2, "&Taille")
  6969.    Call cSysMenuChange(Me.hWnd, 3, "&Ic⌠ne")
  6970.    Call cSysMenuChange(Me.hWnd, 4, "&Plein Θcran")
  6971.    Call cSysMenuChange(Me.hWnd, 6, "&Fermer" + Chr$(9) + "Alt+F4")
  6972.    Call cSysMenuChange(Me.hWnd, 8, "&TΓche" + Chr$(9) + "Ctrl+Esc")
  6973.  
  6974. End Sub
  6975.  
  6976. Private Sub TestMin()
  6977.  
  6978.    Dim Title      As String
  6979.    Dim Tmp        As String
  6980.    Dim Tmp1       As String
  6981.    Dim Tmp2       As String
  6982.    Dim i          As Integer
  6983.    Dim j          As Long
  6984.  
  6985.    Tmp1 = "Min of [32760,1234567] is " & cMin(32760, 1234567) & Chr$(13)
  6986.    
  6987.    Tmp1 = Tmp1 + "Max of [32760,1234567] is " & cMax(32760, 1234567) & Chr$(13)
  6988.    
  6989.    cStartBasisTimer
  6990.    For i = 1 To Item
  6991.       j = cMin(32760, 1234567)
  6992.    Next i
  6993.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6994.  
  6995.    Label3.Caption = Tmp1
  6996.  
  6997. End Sub
  6998.  
  6999. Private Sub TestMinI()
  7000.  
  7001.    Dim Title      As String
  7002.    Dim Tmp        As String
  7003.    Dim Tmp1       As String
  7004.    Dim Tmp2       As String
  7005.    Dim i          As Integer
  7006.    Dim j          As Integer
  7007.    Dim m          As Double
  7008.    
  7009.    ReDim array(ItemMean) As Integer
  7010.    Randomize Timer
  7011.  
  7012.    For i = LBound(array) To UBound(array)
  7013.       array(i) = RandI * Rnd(1)
  7014.       List1.AddItem "" & array(i)
  7015.    Next i
  7016.    
  7017.    j = cSortI(array())
  7018.  
  7019.    For i = LBound(array) To UBound(array)
  7020.       List2.AddItem "" & array(i)
  7021.    Next i
  7022.  
  7023.    List2.ListIndex = 0
  7024.  
  7025.    Tmp1 = "The MIN of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cMinI(array()) & Chr$(13) & Chr$(13)
  7026.  
  7027.    cStartBasisTimer
  7028.    For i = 1 To ItemFile
  7029.       m = cMinI(array())
  7030.    Next i
  7031.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  7032.  
  7033.    Label3.Caption = Tmp1
  7034.  
  7035. End Sub
  7036.  
  7037. Private Sub TestMixChars()
  7038.  
  7039.    Dim Title      As String
  7040.    Dim Tmp        As String
  7041.    Dim Tmp1       As String
  7042.    Dim Tmp2       As String
  7043.    Dim i          As Integer
  7044.    Dim j          As Integer
  7045.                   
  7046.    Tmp = Text1.Text
  7047.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  7048.    Tmp = "T2WIN-16"
  7049.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  7050.    Tmp = "Nothing can beat the fox"
  7051.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  7052.    Tmp = Text1.Text
  7053.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  7054.                   
  7055.    cStartBasisTimer
  7056.    For i = 1 To Item
  7057.       Tmp2 = cMixChars(Tmp)
  7058.    Next i
  7059.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7060.  
  7061.    Label3.Caption = Tmp1
  7062.  
  7063. End Sub
  7064.  
  7065. Private Sub TestMnuLanguage()
  7066.    Load frmLng
  7067.    Call cShowWindow(frmLng.hWnd, 1, 340)
  7068.    frmLng.Show
  7069. End Sub
  7070.  
  7071. Private Sub TestMorse()
  7072.  
  7073.    Dim Title      As String
  7074.    Dim Tmp        As String
  7075.    Dim Tmp1       As String
  7076.    Dim Tmp2       As String
  7077.    Dim i          As Integer
  7078.    Dim j          As Integer
  7079.                   
  7080.    Tmp = "SOS"
  7081.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  7082.    Tmp = "T2WIN-16"
  7083.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  7084.    Tmp = "Nothing can beat the fox"
  7085.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  7086.    Tmp = Text1.Text
  7087.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  7088.                   
  7089.    cStartBasisTimer
  7090.    For i = 1 To Item
  7091.       Tmp2 = cMorse(Tmp)
  7092.    Next i
  7093.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7094.  
  7095.    Label3.Caption = Tmp1
  7096.  
  7097. End Sub
  7098.  
  7099. Private Sub TestMsgBox()
  7100.  
  7101.    Dim i       As Integer
  7102.    Dim N       As Integer
  7103.    Dim Tmp     As String
  7104.  
  7105.    Tmp = "'T2WIN-16'" & Chr$(13) & Chr$(13)
  7106.    Tmp = Tmp & " is a powerfull data link library for using with Visual Basic 3.0 for Windows." & Chr$(13) & Chr$(13)
  7107.    Tmp = Tmp & "It looks very better than the standard message box." & Chr$(13) & Chr$(13)
  7108.    Tmp = Tmp & "All push buttons are displayed in French." & Chr$(13) & Chr$(13)
  7109.    Tmp = Tmp & "The system menu is also in French." & Chr$(13) & Chr$(13)
  7110.    Tmp = Tmp & "A TimeOut of 10 seconds has been activated and displayed."
  7111.  
  7112.    For i = 0 To 5
  7113.       Call cLngBoxMsg(LNG_FRENCH, Tmp, i + (16 * i) + 512 + MB_MESSAGE_CENTER + MB_TIMEOUT_10 + MB_DISPLAY_TIMEOUT, "Message Box in French with TimeOut")
  7114.    Next i
  7115.  
  7116. End Sub
  7117.  
  7118. Private Sub TestOneCharFromLeft()
  7119.  
  7120.    Dim Title      As String
  7121.    Dim Tmp        As String
  7122.    Dim Tmp1       As String
  7123.    Dim Tmp2       As String
  7124.    Dim i          As Integer
  7125.    Dim j          As Integer
  7126.    
  7127.  
  7128.    Tmp = Text1.Text
  7129.    Title = "The 3,7,1 chars from left of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  7130.  
  7131.    Tmp = Text1.Text
  7132.  
  7133.    Tmp1 = Title & "3:" & cOneCharFromLeft(Tmp, 3) & " | 7:" & cOneCharFromLeft(Tmp, 7) & " | 1:" & cOneCharFromLeft(Tmp, 1) & Chr$(13) & Chr$(13)
  7134.  
  7135.    cStartBasisTimer
  7136.    For i = 1 To Item
  7137.       Tmp2 = cOneCharFromLeft(Tmp, 2)
  7138.    Next i
  7139.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7140.  
  7141.    Label3.Caption = Tmp1
  7142.    
  7143. End Sub
  7144.  
  7145. Private Sub TestOneCharFromRight()
  7146.  
  7147.    Dim Title      As String
  7148.    Dim Tmp        As String
  7149.    Dim Tmp1       As String
  7150.    Dim Tmp2       As String
  7151.    Dim i          As Integer
  7152.    Dim j          As Integer
  7153.    
  7154.  
  7155.    Tmp = Text1.Text
  7156.    Title = "The 3,7,1 chars from right of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  7157.  
  7158.    Tmp = Text1.Text
  7159.  
  7160.    Tmp1 = Title & "3:" & cOneCharFromRight(Tmp, 3) & " | 7:" & cOneCharFromRight(Tmp, 7) & " | 1:" & cOneCharFromRight(Tmp, 1) & Chr$(13) & Chr$(13)
  7161.  
  7162.    cStartBasisTimer
  7163.    For i = 1 To Item
  7164.       Tmp2 = cOneCharFromRight(Tmp, 2)
  7165.    Next i
  7166.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7167.  
  7168.    Label3.Caption = Tmp1
  7169.    
  7170. End Sub
  7171.  
  7172. Private Sub TestOrToken()
  7173.  
  7174.    Dim Title      As String
  7175.    Dim Tmp        As String
  7176.    Dim Tmp1       As String
  7177.    Dim Tmp2       As String
  7178.    Dim i          As Integer
  7179.    Dim j          As Integer
  7180.  
  7181.    Tmp = "FOX|OVER|THE"
  7182.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  7183.    Tmp1 = "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrToken(Tmp2, Tmp), "present", "not present") & Chr$(13) & Chr$(13)
  7184.    
  7185.    Tmp = "quick|jumps|the"
  7186.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  7187.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrToken(Tmp2, Tmp), "present", "not present") & Chr$(13) & Chr$(13)
  7188.  
  7189.    Tmp = "FOX\OVER\THE"
  7190.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  7191.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  7192.    
  7193.    Tmp = "quick\jumps\the"
  7194.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  7195.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  7196.  
  7197.    Tmp = "FOX/OVER/THE"
  7198.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  7199.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  7200.    
  7201.    Tmp = "quick\JUMPS\the"
  7202.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  7203.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  7204.  
  7205.    Tmp = LCase$("quick\jumps\THE")
  7206.    Tmp2 = LCase$("THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG")
  7207.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  7208.  
  7209.    cStartBasisTimer
  7210.    For i = 1 To Item
  7211.       j = cOrToken(Tmp2, Tmp)
  7212.    Next i
  7213.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7214.  
  7215.    Label3.Caption = Tmp1
  7216.  
  7217. End Sub
  7218.  
  7219. Private Sub TestPatternExtMatch()
  7220.  
  7221.    Dim Title      As String
  7222.    Dim Tmp        As String
  7223.    Dim Tmp1       As String
  7224.    Dim Tmp2       As String
  7225.    Dim Tmp3       As String
  7226.    Dim i          As Integer
  7227.    Dim j          As Integer
  7228.  
  7229.    Tmp2 = "Under the blue sky, the sun lights"
  7230.  
  7231.    Tmp1 = "PatternExtMatch '" & Tmp2 & "' with" & Chr$(13) & Chr$(13)
  7232.    
  7233.    Tmp3 = "*"
  7234.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7235.    Tmp3 = "*??*???*?"
  7236.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7237.    Tmp3 = "*Under*"
  7238.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7239.    Tmp3 = "*sky*"
  7240.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7241.    Tmp3 = "*lights"
  7242.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7243.    Tmp3 = "??der*sky*ligh??*"
  7244.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7245.    Tmp3 = "Under?the * s??,*"
  7246.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7247.    Tmp3 = "[U-U][a-z][a-z][a-z][a-z]?the *"
  7248.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7249.    Tmp3 = "[U-U][!A-Z][^A-Z][^A-Z][!A-Z]?the *[s-s]"
  7250.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7251.    Tmp3 = "~55~6E*~73"
  7252.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7253.    Tmp3 = "[Uu][Nn][dD][eE][opqrst]?the *[rstu]"
  7254.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7255.    Tmp3 = "Under?the *[~72~73~74~75]"
  7256.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  7257.  
  7258.    Tmp3 = "*under*"
  7259.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7260.    Tmp3 = "Under*sun"
  7261.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7262.    Tmp3 = "Under t??e*"
  7263.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7264.    Tmp3 = "[U-U][!a-z][^A-Z][^A-Z][!A-Z]?the *[!s-s]"
  7265.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7266.    Tmp3 = "~55~6G*~73"
  7267.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7268.    Tmp3 = "[Uu][Nn][dD][eE][opqrst]?the *[rStu]"
  7269.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  7270.    Tmp3 = "Under?the *[~72~53~74~75]"
  7271.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  7272.  
  7273.    Tmp3 = "Under?the * s??,*"
  7274.    cStartBasisTimer
  7275.    For i = 1 To Item
  7276.       j = cPatternExtMatch(Tmp2, Tmp3)
  7277.    Next i
  7278.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7279.  
  7280.    Label3.Caption = Tmp1
  7281.  
  7282. End Sub
  7283.  
  7284. Private Sub TestPatternMatch()
  7285.  
  7286.    Dim Title      As String
  7287.    Dim Tmp        As String
  7288.    Dim Tmp1       As String
  7289.    Dim Tmp2       As String
  7290.    Dim Tmp3       As String
  7291.    Dim i          As Integer
  7292.    Dim j          As Integer
  7293.  
  7294.    Tmp2 = "Under the blue sky, the sun lights"
  7295.  
  7296.    Tmp1 = "PatternMatch '" & Tmp2 & "' with" & Chr$(13) & Chr$(13)
  7297.  
  7298.    Tmp3 = "*"
  7299.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  7300.    Tmp3 = "*??*???*?"
  7301.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  7302.    Tmp3 = "*Under*"
  7303.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  7304.    Tmp3 = "*sky*"
  7305.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  7306.    Tmp3 = "*lights"
  7307.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  7308.    Tmp3 = "??der*sky*ligh??*"
  7309.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  7310.    Tmp3 = "Under?the * s??,*"
  7311.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  7312.  
  7313.    Tmp3 = "*under*"
  7314.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  7315.    Tmp3 = "Under*sun"
  7316.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  7317.    Tmp3 = "Under t??e*"
  7318.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  7319.  
  7320.    Tmp3 = "Under?the * s??,*"
  7321.    cStartBasisTimer
  7322.    For i = 1 To Item
  7323.       j = cPatternMatch(Tmp2, Tmp3)
  7324.    Next i
  7325.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7326.  
  7327.    Label3.Caption = Tmp1
  7328.  
  7329. End Sub
  7330.  
  7331. Private Sub TestProperName()
  7332.  
  7333.    Dim Title      As String
  7334.    Dim Tmp        As String
  7335.    Dim Tmp1       As String
  7336.    Dim Tmp2       As String
  7337.    Dim i          As Integer
  7338.    Dim j          As Integer
  7339.  
  7340.    Tmp = Text1.Text
  7341.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  7342.    Tmp = "John fitz,jr"
  7343.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  7344.    Tmp = "john Fitz, jr"
  7345.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  7346.    Tmp = "macdonald"
  7347.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  7348.    Tmp = "mac donald"
  7349.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  7350.                   
  7351.    cStartBasisTimer
  7352.    For i = 1 To Item
  7353.       Tmp2 = cProperName(Tmp)
  7354.    Next i
  7355.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7356.  
  7357.    Label3.Caption = Tmp1
  7358.  
  7359. End Sub
  7360.  
  7361. Private Sub TestProperName2()
  7362.  
  7363.    Dim Title      As String
  7364.    Dim Tmp        As String
  7365.    Dim Tmp1       As String
  7366.    Dim Tmp2       As String
  7367.    Dim i          As Integer
  7368.    Dim j          As Integer
  7369.  
  7370.    Tmp = Text1.Text
  7371.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & Chr$(13) & Chr$(13)
  7372.    Tmp = "JOHN FITZ,JR"
  7373.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_UPPERCASE Or PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  7374.    Tmp = "john Fitz,jr"
  7375.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  7376.    Tmp = "macdonald"
  7377.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & Chr$(13) & Chr$(13)
  7378.    Tmp = "mac donald"
  7379.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & Chr$(13) & Chr$(13)
  7380.    Tmp = "a.l. greene jr."
  7381.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  7382.    Tmp = "shale and sandstone and till"
  7383.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "the/of/a/an/and", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  7384.    Tmp = "a sandstone or a shale"
  7385.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "the/or/of/a/an/and", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  7386.    Tmp = "RR2 BARRHEAD"
  7387.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "rr2", PN_UPPERCASE Or PN_PUNCTUATION Or PN_KEEP_ORIGINAL) & "'" & Chr$(13) & Chr$(13)
  7388.    Tmp = "ANDY MACDONALD"
  7389.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "mac", PN_UPPERCASE Or PN_PUNCTUATION Or PN_KEEP_ORIGINAL Or PN_ONLY_LEADER_SPACE) & "'" & Chr$(13) & Chr$(13)
  7390.                   
  7391.    cStartBasisTimer
  7392.    For i = 1 To Item
  7393.       Tmp2 = cProperName2(Tmp, "", 0)
  7394.    Next i
  7395.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7396.  
  7397.    Label3.Caption = Tmp1
  7398.  
  7399. End Sub
  7400.  
  7401. Private Sub TestRcsCountFileDir()
  7402.  
  7403.    Dim Title      As String
  7404.    Dim Tmp        As String
  7405.    Dim Tmp1       As String
  7406.    Dim Tmp2       As String
  7407.    Dim i          As Integer
  7408.    Dim j          As Integer
  7409.    Dim k          As Integer
  7410.    
  7411.    Tmp1 = ""
  7412.  
  7413.    Tmp1 = Tmp1 & "Total directories in C: is " & cRcsCountFileDir(False, "C:", "", True) & Chr$(13)
  7414.    Tmp1 = Tmp1 & "Total directories in D: is " & cRcsCountFileDir(False, "D:", "", True) & Chr$(13)
  7415.    
  7416.    Tmp1 = Tmp1 & Chr$(13)
  7417.  
  7418.    Tmp1 = Tmp1 & "Total files in C: is " & cRcsCountFileDir(True, "C:", "", True) & Chr$(13)
  7419.    Tmp1 = Tmp1 & "Total files in D: is " & cRcsCountFileDir(True, "D:", "", True) & Chr$(13)
  7420.    
  7421.    Tmp1 = Tmp1 & Chr$(13)
  7422.  
  7423.    Tmp1 = Tmp1 & "Total files in C:*.DAT is " & cRcsCountFileDir(True, "C:", "*.DAT", True) & Chr$(13)
  7424.    Tmp1 = Tmp1 & "Total files in D:*.DAT is " & cRcsCountFileDir(True, "D:", "*.DAT", True) & Chr$(13)
  7425.    
  7426.    Tmp1 = Tmp1 & Chr$(13)
  7427.  
  7428.    Tmp1 = Tmp1 & "Total directories in C:\ is " & cRcsCountFileDir(False, "C:", "", False) & Chr$(13)
  7429.    Tmp1 = Tmp1 & "Total directories in D:\ is " & cRcsCountFileDir(False, "D:", "", False) & Chr$(13)
  7430.    
  7431.    Tmp1 = Tmp1 & Chr$(13)
  7432.  
  7433.    Tmp1 = Tmp1 & "Total files in C:\ is " & cRcsCountFileDir(True, "C:", "", False) & Chr$(13)
  7434.    Tmp1 = Tmp1 & "Total files in D:\ is " & cRcsCountFileDir(True, "D:", "", False) & Chr$(13)
  7435.    
  7436.    Tmp1 = Tmp1 & Chr$(13)
  7437.  
  7438.    Tmp1 = Tmp1 & "Total files in C:\*.DAT is " & cRcsCountFileDir(True, "C:", "*.DAT", False) & Chr$(13)
  7439.    Tmp1 = Tmp1 & "Total files in D:\*.DAT is " & cRcsCountFileDir(True, "D:", "*.DAT", False) & Chr$(13)
  7440.    
  7441.    Tmp1 = Tmp1 & Chr$(13)
  7442.  
  7443.    cStartBasisTimer
  7444.    For i = 1 To 10
  7445.       k = cRcsCountFileDir(False, "C:", "", False)
  7446.    Next i
  7447.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  7448.  
  7449.    Label3.Caption = Tmp1
  7450.  
  7451. End Sub
  7452.  
  7453. Private Sub TestRcsFilesSize()
  7454.  
  7455.    Dim Title      As String
  7456.    Dim Tmp        As String
  7457.    Dim Tmp1       As String
  7458.    Dim Tmp2       As String
  7459.    Dim i          As Integer
  7460.    Dim j          As Integer
  7461.    Dim k          As Long
  7462.    Dim Size1      As Long
  7463.    Dim Size2      As Long
  7464.  
  7465.    Tmp1 = ""
  7466.    Tmp1 = Tmp1 & "Size of files c:\*.* is " & cRcsFilesSize("c:\", "*.*", False) & Chr$(13)
  7467.    Tmp1 = Tmp1 & "Size of files c:\*.exe is " & cRcsFilesSize("c:\", "*.exe", False) & Chr$(13)
  7468.    Tmp1 = Tmp1 & "Size of files c:\*.com is " & cRcsFilesSize("c:\", "*.com", False) & Chr$(13)
  7469.    Tmp1 = Tmp1 & Chr$(13)
  7470.    Tmp1 = Tmp1 & "Size of files c:\*.* on disk is " & cRcsFilesSizeOnDisk("c:\", "*.*", False) & Chr$(13)
  7471.    Tmp1 = Tmp1 & "Size of files c:\*.exe on disk is " & cRcsFilesSizeOnDisk("c:\", "*.exe", False) & Chr$(13)
  7472.    Tmp1 = Tmp1 & "Size of files c:\*.com on disk is " & cRcsFilesSizeOnDisk("c:\", "*.com", False) & Chr$(13)
  7473.    Tmp1 = Tmp1 & Chr$(13)
  7474.    Tmp1 = Tmp1 & "Slack of files c:\*.* on disk is " & cRcsFilesSlack("c:\", "*.*", False, Size1, Size2) & " %" & Chr$(13)
  7475.    Tmp1 = Tmp1 & "Slack of files c:\*.exe on disk is " & cRcsFilesSlack("c:\", "*.exe", False, Size1, Size2) & " %" & Chr$(13)
  7476.    Tmp1 = Tmp1 & "Slack of files c:\*.com on disk is " & cRcsFilesSlack("c:\", "*.com", False, Size1, Size2) & " %" & Chr$(13)
  7477.  
  7478.    Tmp1 = Tmp1 & Chr$(13)
  7479.  
  7480.    Tmp1 = Tmp1 & "Size of files starting with c:\*.* is " & cRcsFilesSize("c:\", "*.*", True) & Chr$(13)
  7481.    Tmp1 = Tmp1 & "Size of files starting with c:\*.exe is " & cRcsFilesSize("c:\", "*.exe", True) & Chr$(13)
  7482.    Tmp1 = Tmp1 & "Size of files starting with c:\*.com is " & cRcsFilesSize("c:\", "*.com", True) & Chr$(13)
  7483.    Tmp1 = Tmp1 & Chr$(13)
  7484.    Tmp1 = Tmp1 & "Size of files starting with c:\*.* on disk is " & cRcsFilesSizeOnDisk("c:\", "*.*", True) & Chr$(13)
  7485.    Tmp1 = Tmp1 & "Size of files starting with c:\*.exe on disk is " & cRcsFilesSizeOnDisk("c:\", "*.exe", True) & Chr$(13)
  7486.    Tmp1 = Tmp1 & "Size of files starting with c:\*.com on disk is " & cRcsFilesSizeOnDisk("c:\", "*.com", True) & Chr$(13)
  7487.    Tmp1 = Tmp1 & Chr$(13)
  7488.    Tmp1 = Tmp1 & "Slack of files starting with c:\*.* on disk is " & cRcsFilesSlack("c:\", "*.*", True, Size1, Size2) & " %" & Chr$(13)
  7489.    Tmp1 = Tmp1 & "Slack of files starting with c:\*.exe on disk is " & cRcsFilesSlack("c:\", "*.exe", True, Size1, Size2) & " %" & Chr$(13)
  7490.    Tmp1 = Tmp1 & "Slack of files starting with c:\*.com on disk is " & cRcsFilesSlack("c:\", "*.com", True, Size1, Size2) & " %" & Chr$(13)
  7491.  
  7492.    Tmp1 = Tmp1 & Chr$(13)
  7493.  
  7494.    cStartBasisTimer
  7495.    For i = 1 To 10
  7496.       k = cRcsFilesSize("c:\", "*.*", False)
  7497.    Next i
  7498.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  7499.  
  7500.    Label3.Caption = Tmp1
  7501.  
  7502. End Sub
  7503.  
  7504. Private Sub TestReadLanguage()
  7505.    Load frmLng
  7506.    Call cShowWindow(frmLng.hWnd, 1, 340)
  7507.    frmLng.Show
  7508. End Sub
  7509.  
  7510. Private Sub TestRegistrationKey()
  7511.  
  7512.    Dim Title      As String
  7513.    Dim Tmp        As String
  7514.    Dim Tmp1       As String
  7515.    Dim Tmp2       As String
  7516.    Dim Tmp3       As String
  7517.    Dim i          As Integer
  7518.    Dim j          As Long
  7519.  
  7520.    Tmp2 = "T2WIN-16"
  7521.    Tmp3 = "12345"
  7522.    Tmp = Text1.Text
  7523.  
  7524.    Tmp1 = "Registration key for '" & Tmp2 & "' with '" & Tmp3 & "' is " & cRegistrationKey(Tmp2, Val(Tmp3)) & Chr$(13) & Chr$(13)
  7525.  
  7526.    Tmp1 = Tmp1 & "Registration key for '" & cBlockCharFromLeft(Tmp2, 1) & "n" & "' with '" & Tmp3 & "' is " & cRegistrationKey(cBlockCharFromLeft(Tmp2, 1) + "n", Val(Tmp3)) & Chr$(13) & Chr$(13)
  7527.    
  7528.    Tmp1 = Tmp1 & "Registration key for '" & Tmp & "' with '" & Tmp3 & "' is " & cRegistrationKey(Tmp, Val(Tmp3)) & Chr$(13) & Chr$(13)
  7529.    
  7530.    Tmp1 = Tmp1 & "Registration key for '" & LCase$(Tmp2) & "' with '" & Tmp3 & "' is " & cRegistrationKey(LCase$(Tmp2), Val(Tmp3)) & Chr$(13) & Chr$(13)
  7531.    
  7532.    Tmp1 = Tmp1 & "Registration key for '" & LCase$(Tmp) & "' with '" & Tmp3 & "' is " & cRegistrationKey(LCase$(Tmp), Val(Tmp3)) & Chr$(13) & Chr$(13)
  7533.    
  7534.    Tmp1 = Tmp1 & "Registration key for '" & Left$(Tmp2, 3) & "' with '" & Tmp3 & "' is " & cRegistrationKey(Left$(Tmp2, 3), Val(Tmp3)) & Chr$(13) & Chr$(13)
  7535.    
  7536.    cStartBasisTimer
  7537.    For i = 1 To Item
  7538.       j = cRegistrationKey(Tmp2, Val(Tmp3))
  7539.    Next i
  7540.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7541.  
  7542.    Label3.Caption = Tmp1
  7543.  
  7544. End Sub
  7545.  
  7546. Private Sub TestRemoveBlockChar()
  7547.  
  7548.    Dim Title      As String
  7549.    Dim Tmp        As String
  7550.    Dim Tmp1       As String
  7551.    Dim Tmp2       As String
  7552.    Dim i          As Integer
  7553.    Dim j          As Integer
  7554.    
  7555.  
  7556.    Tmp = Text1.Text
  7557.    Title = "Removing 3 chars from the 7 of [" & Tmp & "] is "
  7558.  
  7559.    Tmp = cRemoveBlockChar(Tmp, 7, 3)
  7560.  
  7561.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  7562.  
  7563.    cStartBasisTimer
  7564.    For i = 1 To Item
  7565.       Tmp = cRemoveBlockChar(Tmp, 1, 2)
  7566.    Next i
  7567.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7568.  
  7569.    Label3.Caption = Tmp1
  7570.  
  7571. End Sub
  7572.  
  7573. Private Sub TestRemoveOneChar()
  7574.  
  7575.    Dim Title      As String
  7576.    Dim Tmp        As String
  7577.    Dim Tmp1       As String
  7578.    Dim Tmp2       As String
  7579.    Dim i          As Integer
  7580.    Dim j          As Integer
  7581.    
  7582.  
  7583.    Tmp = Text1.Text
  7584.    Title = "Removing the 7 char of [" & Tmp & "] is "
  7585.  
  7586.    Tmp = cRemoveOneChar(Tmp, 7)
  7587.  
  7588.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  7589.  
  7590.    cStartBasisTimer
  7591.    For i = 1 To Item
  7592.       Tmp = cRemoveOneChar(Tmp, 1)
  7593.    Next i
  7594.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7595.  
  7596.    Label3.Caption = Tmp1
  7597.  
  7598. End Sub
  7599.  
  7600. Private Sub TestRenameFile()
  7601.  
  7602.    Dim Title      As String
  7603.    Dim Tmp        As String
  7604.    Dim Tmp1       As String
  7605.    Dim Tmp2       As String
  7606.    Dim i          As Integer
  7607.    Dim j          As Integer
  7608.  
  7609.    j = cKillFile("XY~YX~XY.~~~")
  7610.    j = cKillFile("XY-YX-XY.---")
  7611.  
  7612.    Close #1
  7613.    Open "XY~YX~XY.~~~" For Output As #1
  7614.    Print #1, "this is a test";
  7615.    Close #1
  7616.  
  7617.    Tmp1 = "File XY~YX~XY.~~~ " & IIf(cRenameFile("XY~YX~XY.~~~", "XY-YX-XY.---") = True, "renamed in XY-YX-XY.---", "is not renamed") & Chr$(13) & Chr$(13)
  7618.  
  7619.    cStartBasisTimer
  7620.    For i = 1 To ItemFile
  7621.       j = cRenameFile("XY~YX~XY.~~~", "XY-YX-XY.---")
  7622.    Next i
  7623.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  7624.  
  7625.    Label3.Caption = Tmp1
  7626.  
  7627. End Sub
  7628.  
  7629. Private Sub TestResizeString()
  7630.  
  7631.    Dim Title      As String
  7632.    Dim Tmp        As String
  7633.    Dim Tmp1       As String
  7634.    Dim Tmp2       As String
  7635.    Dim i          As Integer
  7636.    Dim j          As Integer
  7637.    
  7638.  
  7639.    Tmp = Text1.Text
  7640.    Tmp1 = Tmp & " is resized from " & Len(Tmp) & " to 5 chars " & cResizeString(Tmp, 5) & Chr$(13) & Chr$(13)
  7641.  
  7642.    cStartBasisTimer
  7643.    For i = 1 To Item
  7644.       Tmp2 = cResizeString(Tmp, 3)
  7645.    Next i
  7646.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7647.  
  7648.    Label3.Caption = Tmp1
  7649.  
  7650. End Sub
  7651.  
  7652. Private Sub TestResizeStringAndFill()
  7653.  
  7654.    Dim Title      As String
  7655.    Dim Tmp        As String
  7656.    Dim Tmp1       As String
  7657.    Dim Tmp2       As String
  7658.    Dim i          As Integer
  7659.    Dim j          As Integer
  7660.    
  7661.  
  7662.    Tmp = Text1.Text
  7663.    Tmp1 = Tmp & " is resized from " & Len(Tmp) & " to 35 chars and lengthened with @ is " & Chr$(13) & Chr$(13) & cResizeStringAndFill(Tmp, 35, "@") & Chr$(13) & Chr$(13)
  7664.  
  7665.    cStartBasisTimer
  7666.    For i = 1 To Item
  7667.       Tmp2 = cResizeStringAndFill(Tmp, 35, "@")
  7668.    Next i
  7669.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7670.  
  7671.    Label3.Caption = Tmp1
  7672.  
  7673. End Sub
  7674.  
  7675. Private Sub TestReverse()
  7676.  
  7677.    Dim Title      As String
  7678.    Dim Tmp        As String
  7679.    Dim Tmp1       As String
  7680.    Dim Tmp2       As String
  7681.    Dim i          As Integer
  7682.    Dim j          As Integer
  7683.    
  7684.  
  7685.    Tmp = Text1.Text
  7686.    Title = "Reverse of [" & Tmp & "] is "
  7687.  
  7688.    Tmp1 = Title & cReverse(Tmp) & Chr$(13) & Chr$(13)
  7689.  
  7690.    cStartBasisTimer
  7691.    For i = 1 To Item
  7692.       Tmp2 = cReverse(Tmp)
  7693.    Next i
  7694.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7695.  
  7696.    Label3.Caption = Tmp1
  7697.  
  7698. End Sub
  7699.  
  7700. Private Sub TestReverseAllBits()
  7701.  
  7702.    Dim Title      As String
  7703.    Dim Tmp        As String
  7704.    Dim Tmp1       As String
  7705.    Dim Tmp2       As String
  7706.    Dim i          As Integer
  7707.    Dim j          As Integer
  7708.    
  7709.  
  7710.    Tmp = Text1.Text
  7711.    Title = "Reverse all bits of [" & Tmp & "] is "
  7712.    Call cReverseAllBits(Tmp)
  7713.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  7714.  
  7715.    Title = "Reverse all bits of [" & Tmp & "] is "
  7716.    Call cReverseAllBits(Tmp)
  7717.    Tmp1 = Tmp1 & Title & Tmp & Chr$(13) & Chr$(13)
  7718.  
  7719.    cStartBasisTimer
  7720.    For i = 1 To Item
  7721.       Call cReverseAllBits(Tmp)
  7722.    Next i
  7723.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7724.  
  7725.    Label3.Caption = Tmp1
  7726.  
  7727. End Sub
  7728.  
  7729. Private Sub TestReverseAllBitsByChar()
  7730.  
  7731.    Dim Title      As String
  7732.    Dim Tmp        As String
  7733.    Dim Tmp1       As String
  7734.    Dim Tmp2       As String
  7735.    Dim i          As Integer
  7736.    Dim j          As Integer
  7737.    
  7738.  
  7739.    Tmp = Text1.Text
  7740.    Title = "Reverse all bits by char of [" & Tmp & "] is "
  7741.    Call cReverseAllBitsByChar(Tmp)
  7742.    Tmp1 = Title & Tmp & Chr$(13) & Chr$(13)
  7743.  
  7744.    Title = "Reverse all bits by char of [" & Tmp & "] is "
  7745.    Call cReverseAllBitsByChar(Tmp)
  7746.    Tmp1 = Tmp1 & Title & Tmp & Chr$(13) & Chr$(13)
  7747.  
  7748.    cStartBasisTimer
  7749.    For i = 1 To Item
  7750.       Call cReverseAllBitsByChar(Tmp)
  7751.    Next i
  7752.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7753.  
  7754.    Label3.Caption = Tmp1
  7755.  
  7756. End Sub
  7757.  
  7758. Private Sub TestReverseSortI()
  7759.  
  7760.    Dim Title      As String
  7761.    Dim Tmp        As String
  7762.    Dim Tmp1       As String
  7763.    Dim Tmp2       As String
  7764.    Dim i          As Integer
  7765.    Dim j          As Integer
  7766.    Dim m          As Integer
  7767.    
  7768.    ReDim array(ItemMean) As Integer
  7769.    Randomize Timer
  7770.  
  7771.    For i = LBound(array) To UBound(array)
  7772.       array(i) = RandI * Rnd(1)
  7773.       List1.AddItem "" & array(i)
  7774.    Next i
  7775.    
  7776.    j = cReverseSortI(array())
  7777.  
  7778.    For i = LBound(array) To UBound(array)
  7779.       List2.AddItem "" & array(i)
  7780.    Next i
  7781.  
  7782.    cStartBasisTimer
  7783.    For i = 1 To ItemFile
  7784.       j = cReverseSortI(array())
  7785.    Next i
  7786.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  7787.  
  7788.    Label3.Caption = Tmp1
  7789.  
  7790. End Sub
  7791.  
  7792. Private Sub TestRndX()
  7793.  
  7794.    Dim Title      As String
  7795.    Dim Tmp        As String
  7796.    Dim Tmp1       As String
  7797.    Dim Tmp2       As String
  7798.    Dim i          As Integer
  7799.    Dim j          As Integer
  7800.  
  7801.    Call cRndInit(-1)
  7802.    
  7803.    Tmp1 = "Some random Integer number" & Chr$(13) & Chr$(13)
  7804.  
  7805.    For i = 1 To 2
  7806.       Tmp1 = Tmp1 & cRndI() & Chr$(13)
  7807.    Next i
  7808.  
  7809.    Tmp1 = Tmp1 & Chr$(13)
  7810.  
  7811.    Tmp1 = Tmp1 & "Some random Long number" & Chr$(13) & Chr$(13)
  7812.  
  7813.    For i = 1 To 2
  7814.       Tmp1 = Tmp1 & cRndL() & Chr$(13)
  7815.    Next i
  7816.  
  7817.    Tmp1 = Tmp1 & Chr$(13)
  7818.  
  7819.    Tmp1 = Tmp1 & "Some random Single number" & Chr$(13) & Chr$(13)
  7820.  
  7821.    For i = 1 To 2
  7822.       Tmp1 = Tmp1 & cRndS() & Chr$(13)
  7823.    Next i
  7824.  
  7825.    Tmp1 = Tmp1 & Chr$(13)
  7826.  
  7827.    Tmp1 = Tmp1 & "Some random Double number" & Chr$(13) & Chr$(13)
  7828.  
  7829.    For i = 1 To 2
  7830.       Tmp1 = Tmp1 & cRndD() & Chr$(13)
  7831.    Next i
  7832.  
  7833.    Tmp1 = Tmp1 & Chr$(13)
  7834.  
  7835.    Tmp1 = Tmp1 & "Some random Double number between 0.0 and 1.0" & Chr$(13) & Chr$(13)
  7836.  
  7837.    For i = 1 To 2
  7838.       Tmp1 = Tmp1 & cRnd() & Chr$(13)
  7839.    Next i
  7840.  
  7841.    Tmp1 = Tmp1 & Chr$(13)
  7842.  
  7843.    cStartBasisTimer
  7844.    For i = 1 To Item
  7845.       j = cRndI()
  7846.    Next i
  7847.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7848.  
  7849.    Label3.Caption = Tmp1
  7850.  
  7851. End Sub
  7852.  
  7853. Private Sub TestRtoA()
  7854.    Dim Tmp        As String
  7855.    Dim Tmp1       As String
  7856.    Tmp = UCase$(cArabicToRoman(Year(Int(Now))))
  7857.    Tmp1 = Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & Chr$(13)
  7858.    Tmp = UCase$(cArabicToRoman(Year(Int(Now)) - 1))
  7859.    Tmp1 = Tmp1 & Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & Chr$(13)
  7860.    Tmp = UCase$(cArabicToRoman(Year(Int(Now)) + 1))
  7861.    Tmp1 = Tmp1 & Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & Chr$(13)
  7862.    Label3.Caption = Tmp1
  7863. End Sub
  7864.  
  7865. Private Sub TestSearchI()
  7866.  
  7867.    Dim Title      As String
  7868.    Dim Tmp        As String
  7869.    Dim Tmp1       As String
  7870.    Dim Tmp2       As String
  7871.    Dim i          As Integer
  7872.    Dim j          As Integer
  7873.    Dim m          As Integer
  7874.    
  7875.    ReDim array(20) As Integer
  7876.    Call cRndInit(-1)
  7877.  
  7878.    For i = LBound(array) To UBound(array)
  7879.       array(i) = cRndI()
  7880.       List1.AddItem "" & array(i)
  7881.    Next i
  7882.  
  7883.    Tmp1 = Tmp1 & "Search '" & array(5) & "' is " & cSearchI(array(), array(5)) & Chr$(13)
  7884.    Tmp1 = Tmp1 & "Search '" & array(10) & "' is " & cSearchI(array(), array(10)) & Chr$(13)
  7885.    Tmp1 = Tmp1 & "Search '" & array(15) & "' is " & cSearchI(array(), array(15)) & Chr$(13)
  7886.    Tmp1 = Tmp1 & "Search '" & array(20) & "' is " & cSearchI(array(), array(20)) & Chr$(13)
  7887.    Tmp1 = Tmp1 & "Search '" & -1234 & "' is " & cSearchI(array(), -1234) & Chr$(13)
  7888.    
  7889.    cStartBasisTimer
  7890.    For i = 1 To ItemFile
  7891.       j = cSearchI(array(), array(1))
  7892.    Next i
  7893.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  7894.  
  7895.    Label3.Caption = Tmp1
  7896.  
  7897. End Sub
  7898.  
  7899. Private Sub TestSerial()
  7900.  
  7901.    Dim Tmp           As String
  7902.    Dim Tmp1          As String
  7903.    Dim getSD         As tagSERIALDATA
  7904.    Dim putSD         As tagSERIALDATA
  7905.    Dim i             As Integer
  7906.    Dim j             As Integer
  7907.  
  7908.    Call CreateFile
  7909.    
  7910.    Tmp1 = "TEST.DAT"
  7911.  
  7912.    Tmp = Tmp & "File '" & Tmp1 & "' is " & IIf(cIsSerial(Tmp1) = True, "serialized", "not serialized") & Chr$(13) & Chr$(13)
  7913.  
  7914.    putSD.Description1 = "T2WIN-16 demonstration"
  7915.    putSD.Description2 = "Under the blue sky, the sun lights"
  7916.    putSD.Number = 136
  7917.    Tmp = Tmp & "Put/Modify '" & Trim$(putSD.Description1) & "' - '" & Trim$(putSD.Description2) & "' - '" & putSD.Number & "'" & Chr$(13) & "into file '" & Tmp1 & "' is " & IIf(cSerialPut(Tmp1, putSD), "OK", "KO") & Chr$(13)
  7918.    i = cSerialGet(Tmp1, getSD)
  7919.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & Chr$(13)
  7920.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & Chr$(13)
  7921.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & Chr$(13)
  7922.    Tmp = Tmp & "  number : " & getSD.Number & Chr$(13) & Chr$(13)
  7923.    
  7924.    Tmp = Tmp & "Add 2 to serialized number part into file '" & Tmp1 & "' is " & IIf(cSerialInc(Tmp1, 2), "OK", "KO") & Chr$(13)
  7925.    i = cSerialGet(Tmp1, getSD)
  7926.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & Chr$(13)
  7927.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & Chr$(13)
  7928.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & Chr$(13)
  7929.    Tmp = Tmp & "  number : " & getSD.Number & Chr$(13) & Chr$(13)
  7930.  
  7931.    Tmp = Tmp & "Substract 9 to serialized number part into file '" & Tmp1 & "' is " & IIf(cSerialInc(Tmp1, -9), "OK", "KO") & Chr$(13)
  7932.    i = cSerialGet(Tmp1, getSD)
  7933.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & Chr$(13)
  7934.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & Chr$(13)
  7935.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & Chr$(13)
  7936.    Tmp = Tmp & "  number : " & getSD.Number & Chr$(13) & Chr$(13)
  7937.  
  7938.    Tmp = Tmp & "File '" & Tmp1 & "' is " & IIf(cIsSerial(Tmp1) = True, "serialized", "not serialized") & Chr$(13) & Chr$(13)
  7939.  
  7940.    cStartBasisTimer
  7941.    For i = 1 To ItemFile
  7942.       j = cSerialGet(Tmp1, getSD)
  7943.    Next i
  7944.    Tmp = Tmp & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  7945.  
  7946.    Label3.Caption = Tmp
  7947.  
  7948. End Sub
  7949.  
  7950. Private Sub TestSetAllBits()
  7951.  
  7952.    Dim Title      As String
  7953.    Dim Tmp        As String
  7954.    Dim Tmp1       As String
  7955.    Dim Tmp2       As String
  7956.    Dim i          As Integer
  7957.    Dim j          As Integer
  7958.    
  7959.  
  7960.    Tmp = Text1.Text
  7961.    Title = "Set all bits of [" & Tmp & "] on True is "
  7962.    Call cSetAllBits(Tmp, True)
  7963.  
  7964.    Tmp1 = Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  7965.  
  7966.    Title = "Set all bits of [" & Tmp & "] on False is "
  7967.    Call cSetAllBits(Tmp, False)
  7968.  
  7969.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  7970.  
  7971.    cStartBasisTimer
  7972.    For i = 1 To Item
  7973.       Call cSetAllBits(Tmp, True)
  7974.    Next i
  7975.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7976.  
  7977.    Label3.Caption = Tmp1
  7978.  
  7979. End Sub
  7980.  
  7981. Private Sub TestSetBit()
  7982.  
  7983.    Dim Title      As String
  7984.    Dim Tmp        As String
  7985.    Dim Tmp1       As String
  7986.    Dim Tmp2       As String
  7987.    Dim i          As Integer
  7988.    Dim j          As Integer
  7989.    
  7990.  
  7991.    Tmp = Text1.Text
  7992.    Title = "Set bit 0,5,3 of [" & Tmp & "] on True is "
  7993.    Call cSetBit(Tmp, 0, True)
  7994.    Call cSetBit(Tmp, 5, True)
  7995.    Call cSetBit(Tmp, 3, True)
  7996.  
  7997.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  7998.  
  7999.    Title = "Set bit 22,30,38 of [" & Tmp & "] on False is "
  8000.    Call cSetBit(Tmp, 22, False)
  8001.    Call cSetBit(Tmp, 30, False)
  8002.    Call cSetBit(Tmp, 38, False)
  8003.  
  8004.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  8005.  
  8006.    Title = "Set bit 0,5,3 of [" & Tmp & "] on False is "
  8007.    Call cSetBit(Tmp, 0, False)
  8008.    Call cSetBit(Tmp, 5, False)
  8009.    Call cSetBit(Tmp, 3, False)
  8010.  
  8011.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  8012.  
  8013.    Title = "Set bit 22,30,38 of [" & Tmp & "] on True is "
  8014.    Call cSetBit(Tmp, 22, True)
  8015.    Call cSetBit(Tmp, 30, True)
  8016.    Call cSetBit(Tmp, 38, True)
  8017.  
  8018.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  8019.  
  8020.    cStartBasisTimer
  8021.    For i = 1 To Item
  8022.       Call cSetBit(Tmp, 7, True)
  8023.    Next i
  8024.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8025.  
  8026.    Label3.Caption = Tmp1
  8027.  
  8028. End Sub
  8029.  
  8030. Private Sub TestSetI()
  8031.  
  8032.    Dim Title      As String
  8033.    Dim Tmp        As String
  8034.    Dim Tmp1       As String
  8035.    Dim Tmp2       As String
  8036.    Dim i          As Integer
  8037.    Dim j          As Integer
  8038.    Dim m          As Double
  8039.    
  8040.    ReDim array(ItemMean) As Integer
  8041.    Randomize Timer
  8042.  
  8043.    For i = LBound(array) To UBound(array)
  8044.       array(i) = 0
  8045.       List1.AddItem "" & array(i)
  8046.    Next i
  8047.    
  8048.    j = cSetI(array(), 1024)
  8049.  
  8050.    For i = LBound(array) To UBound(array)
  8051.       List2.AddItem "" & array(i)
  8052.    Next i
  8053.  
  8054.    Tmp1 = Tmp1 & "Set 1024 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  8055.    Tmp1 = Tmp1 & "Set 1024 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  8056.  
  8057.    cStartBasisTimer
  8058.    For i = 1 To ItemFile
  8059.       j = cSetI(array(), 1.11)
  8060.    Next i
  8061.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  8062.  
  8063.    Label3.Caption = Tmp1
  8064.  
  8065. End Sub
  8066.  
  8067. Private Sub TestSortI()
  8068.  
  8069.    Dim Title      As String
  8070.    Dim Tmp        As String
  8071.    Dim Tmp1       As String
  8072.    Dim Tmp2       As String
  8073.    Dim i          As Integer
  8074.    Dim j          As Integer
  8075.    Dim m          As Integer
  8076.    
  8077.    ReDim array(ItemMean) As Integer
  8078.    Randomize Timer
  8079.  
  8080.    For i = LBound(array) To UBound(array)
  8081.       array(i) = RandI * Rnd(1)
  8082.       List1.AddItem "" & array(i)
  8083.    Next i
  8084.    
  8085.    j = cSortI(array())
  8086.  
  8087.    For i = LBound(array) To UBound(array)
  8088.       List2.AddItem "" & array(i)
  8089.    Next i
  8090.  
  8091.    cStartBasisTimer
  8092.    For i = 1 To ItemFile
  8093.       j = cSortI(array())
  8094.    Next i
  8095.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  8096.  
  8097.    Label3.Caption = Tmp1
  8098.  
  8099. End Sub
  8100.  
  8101. Private Sub TestSpellMoney()
  8102.  
  8103.    Dim Title      As String
  8104.    Dim Tmp        As String
  8105.    Dim Tmp1       As String
  8106.    Dim Tmp2       As String
  8107.    Dim i          As Integer
  8108.    Dim j          As Integer
  8109.  
  8110.    Dim Units      As String
  8111.    Dim Cents      As String
  8112.  
  8113.    Units = "dollars"
  8114.    Cents = "cents"
  8115.  
  8116.    Tmp1 = "Spelling the following money value " & Chr$(13) & Chr$(13)
  8117.  
  8118.    Tmp1 = Tmp1 & "4.12 is '" & cSpellMoney(4.12, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  8119.    Tmp1 = Tmp1 & "16 is '" & cSpellMoney(16, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  8120.    Tmp1 = Tmp1 & "25 is '" & cSpellMoney(25, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  8121.    Tmp1 = Tmp1 & "34 is '" & cSpellMoney(34, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  8122.    Tmp1 = Tmp1 & "43 is '" & cSpellMoney(43, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  8123.    Tmp1 = Tmp1 & "61 is '" & cSpellMoney(61, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  8124.    Tmp1 = Tmp1 & "98765.43 is '" & cSpellMoney(98765.43, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  8125.    Tmp1 = Tmp1 & "123456789.75 is '" & cSpellMoney(123456789.75, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  8126.  
  8127.    cStartBasisTimer
  8128.    For i = 1 To Item
  8129.       Tmp2 = cSpellMoney(12.34, Units, Cents)
  8130.    Next i
  8131.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8132.  
  8133.    Label3.Caption = Tmp1
  8134.  
  8135. End Sub
  8136.  
  8137. Private Sub TestSplitPath()
  8138.  
  8139.    Dim Title      As String
  8140.    Dim Tmp        As String
  8141.    Dim Tmp1       As String
  8142.    Dim Tmp2       As String
  8143.    Dim Tmp3       As String
  8144.    Dim i          As Integer
  8145.    Dim N          As Integer
  8146.    Dim j          As Long
  8147.    Dim SPLITPATH  As tagSPLITPATH
  8148.    
  8149.    Tmp1 = ""
  8150.    Tmp = "C:\AUTOEXEC.BAT"
  8151.  
  8152.    Tmp1 = Tmp1 & "Split Path " & Tmp & " into four components is :" & Chr$(13) & Chr$(13)
  8153.    N = cSplitPath(Tmp, SPLITPATH)
  8154.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & Chr$(13)
  8155.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & Chr$(13)
  8156.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & Chr$(13)
  8157.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & Chr$(13) & Chr$(13)
  8158.  
  8159.    Tmp = cGetSystemDirectory() & "\t2win-16.dll"
  8160.  
  8161.    Tmp1 = Tmp1 & "Split Path " & Tmp & " into four components is :" & Chr$(13) & Chr$(13)
  8162.    N = cSplitPath(Tmp, SPLITPATH)
  8163.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & Chr$(13)
  8164.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & Chr$(13)
  8165.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & Chr$(13)
  8166.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & Chr$(13) & Chr$(13)
  8167.  
  8168.    cStartBasisTimer
  8169.    For i = 1 To Item
  8170.       N = cSplitPath(Tmp, SPLITPATH)
  8171.    Next i
  8172.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  8173.  
  8174.    Label3.Caption = Tmp1
  8175.  
  8176. End Sub
  8177.  
  8178. Private Sub TestStringCompress()
  8179.  
  8180.    Dim Title      As String
  8181.    Dim Tmp        As String
  8182.    Dim Tmp1       As String
  8183.    Dim Tmp2       As String
  8184.    Dim Tmp3       As String
  8185.    Dim i          As Integer
  8186.    Dim j          As Long
  8187.  
  8188.    Tmp1 = ""
  8189.    Tmp = "T2WIN-16, T2WIN-16, T2WIN-16, T2WIN-16"
  8190.    Tmp2 = cStringCompress(Tmp)
  8191.    Tmp3 = cStringExpand(Tmp2)
  8192.    
  8193.    Tmp1 = Tmp1 & "String Compress '" & Tmp & "' is " & Format$(Len(Tmp)) & " to " & Format$(Len(Tmp2)) & " bytes." & Chr$(13)
  8194.    Tmp1 = Tmp1 & "String Expand is '" & Tmp3 & "'" & Chr$(13)
  8195.    Tmp1 = Tmp1 & "Compare string contents (not sensitive) is " & IIf(LCase$(Tmp) = LCase$(Tmp3), "same", "not same") & Chr$(13) & Chr$(13)
  8196.  
  8197.    cStartBasisTimer
  8198.    For i = 1 To Item
  8199.       Tmp2 = cStringCompress(Tmp)
  8200.    Next i
  8201.    Tmp3 = cStringExpand(Tmp2)
  8202.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  8203.  
  8204.    Label3.Caption = Tmp1
  8205.  
  8206. End Sub
  8207.  
  8208. Private Sub TestStringCRC32()
  8209.  
  8210.    Dim Title      As String
  8211.    Dim Tmp        As String
  8212.    Dim Tmp1       As String
  8213.    Dim Tmp2       As String
  8214.    Dim i          As Integer
  8215.    Dim j          As Integer
  8216.    Dim k          As Long
  8217.    
  8218.  
  8219.    Tmp = Text1.Text
  8220.    Title = "CRC32 for string [" & Tmp & "] is "
  8221.    Tmp1 = Title & Hex$(cStringCRC32(Tmp)) & Chr$(13) & Chr$(13)
  8222.  
  8223.    Title = "CRC32 for string [" & cReverse(Tmp) & "] is "
  8224.    Tmp1 = Tmp1 & Title & Hex$(cStringCRC32(cReverse(Tmp))) & Chr$(13) & Chr$(13)
  8225.  
  8226.    Title = "CRC32 for string [" & LCase$(Tmp) & "] is "
  8227.    Tmp1 = Tmp1 & Title & Hex$(cStringCRC32(LCase$(Tmp))) & Chr$(13) & Chr$(13)
  8228.  
  8229.    Title = "CRC32 for string [" & LCase$(cReverse(Tmp)) & "] is "
  8230.    Tmp1 = Tmp1 & Title & Hex$(cStringCRC32(LCase$(cReverse(Tmp)))) & Chr$(13) & Chr$(13)
  8231.  
  8232.    cStartBasisTimer
  8233.    For i = 1 To Item
  8234.       k = cStringCRC32(Tmp)
  8235.    Next i
  8236.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8237.  
  8238.    Label3.Caption = Tmp1
  8239.  
  8240. End Sub
  8241.  
  8242. Private Sub TestStringSAR()
  8243.  
  8244.    Dim Title      As String
  8245.    Dim Tmp        As String
  8246.    Dim Tmp1       As String
  8247.    Dim Tmp2       As String
  8248.    Dim Tmp3       As String
  8249.    Dim i          As Integer
  8250.    Dim j          As Long
  8251.  
  8252.    Tmp1 = ""
  8253.    Tmp = "T2WIN-16, T2WIN-16, T2WIN-16, T2WIN-16 IS A DLL"
  8254.    Tmp2 = cStringSAR(Tmp, "T2WIN-16", "t2win-16", False)
  8255.    
  8256.    Tmp1 = Tmp1 & "Replace 'T2WIN-16' by 't2win-16'" & Chr$(13)
  8257.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  8258.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  8259.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  8260.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  8261.  
  8262.    Tmp2 = cStringSAR(Tmp, " TO ", "2", True)
  8263.  
  8264.    Tmp1 = Tmp1 & "Replace ' TO ' by '2'" & Chr$(13)
  8265.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  8266.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  8267.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  8268.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  8269.  
  8270.    Tmp2 = cStringSAR(Tmp, "T2WIN-16, ", "", True)
  8271.  
  8272.    Tmp1 = Tmp1 & "Replace 'T2WIN-16, ' by ''" & Chr$(13)
  8273.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  8274.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  8275.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  8276.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  8277.  
  8278.    Tmp2 = cStringSAR(Tmp, "I", "i", False)
  8279.  
  8280.    Tmp1 = Tmp1 & "Replace 'I' by 'i'" & Chr$(13)
  8281.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  8282.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  8283.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  8284.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  8285.  
  8286.    cStartBasisTimer
  8287.    For i = 1 To Item
  8288.       Tmp2 = cStringSAR(Tmp, "T2WIN-16", "t2win-16", False)
  8289.    Next i
  8290.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  8291.  
  8292.    Label3.Caption = Tmp1
  8293.  
  8294. End Sub
  8295.  
  8296. Private Sub TestSubDirectory()
  8297.  
  8298.    Dim Title      As String
  8299.    Dim Tmp        As String
  8300.    Dim Tmp1       As String
  8301.    Dim Tmp2       As String
  8302.    Dim i          As Integer
  8303.    Dim j          As Integer
  8304.    Dim k          As Long
  8305.  
  8306.    Title = "The 7 first directories in this directory are" & Chr$(13) & Chr$(13)
  8307.  
  8308.    Tmp1 = Title
  8309.    Tmp2 = cSubDirectory("*.*", True)
  8310.    For i = 1 To 7
  8311.       Tmp1 = Tmp1 & Tmp2 & Chr$(13)
  8312.       Tmp2 = cSubDirectory("*.*", False)
  8313.    Next i
  8314.  
  8315.    Tmp1 = Tmp1 & Chr$(13)
  8316.  
  8317.    cStartBasisTimer
  8318.    For i = 1 To Item
  8319.       Tmp = cSubDirectory("*.*", True)
  8320.    Next i
  8321.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8322.  
  8323.    Label3.Caption = Tmp1
  8324.  
  8325. End Sub
  8326.  
  8327. Private Sub TestSumI()
  8328.  
  8329.    Dim Title      As String
  8330.    Dim Tmp        As String
  8331.    Dim Tmp1       As String
  8332.    Dim Tmp2       As String
  8333.    Dim i          As Integer
  8334.    Dim j          As Integer
  8335.    Dim m          As Double
  8336.    
  8337.    ReDim array(ItemMean) As Integer
  8338.    Randomize Timer
  8339.  
  8340.    m = 0
  8341.    For i = LBound(array) To UBound(array)
  8342.       array(i) = Int(RandI * Rnd(1))
  8343.       m = m + array(i)
  8344.       List1.AddItem "" & array(i)
  8345.    Next i
  8346.    
  8347.    Tmp1 = "The Sum of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cSumI(array()) & " (" & m & ")" & Chr$(13) & Chr$(13)
  8348.  
  8349.    cStartBasisTimer
  8350.    For i = 1 To ItemFile
  8351.       m = cSumI(array())
  8352.    Next i
  8353.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  8354.  
  8355.    Label3.Caption = Tmp1
  8356.  
  8357. End Sub
  8358.  
  8359. Private Sub TestSwap()
  8360.  
  8361.    Dim Title      As String
  8362.    Dim Tmp        As String
  8363.    Dim Tmp1       As String
  8364.    Dim Tmp2       As String
  8365.    Dim i          As Integer
  8366.    Dim j          As Long
  8367.  
  8368.    Dim i1         As Integer
  8369.    Dim i2         As Integer
  8370.  
  8371.    Dim s1         As String
  8372.    Dim s2         As String
  8373.  
  8374.    i1 = 3276
  8375.    i2 = 12345
  8376.  
  8377.    s1 = "Hello"
  8378.    s2 = "World"
  8379.  
  8380.    Tmp1 = "SwapI of [" & i1 & "," & i2 & "] is "
  8381.    Call cSwapI(i1, i2)
  8382.    Tmp1 = Tmp1 + "[" & i1 & "," & i2 & "]" & Chr$(13)
  8383.  
  8384.    Tmp1 = Tmp1 + "SwapI of [" & i1 & "," & i2 & "] is "
  8385.    Call cSwapI(i1, i2)
  8386.    Tmp1 = Tmp1 + "[" & i1 & "," & i2 & "]" & Chr$(13)
  8387.  
  8388.    Tmp1 = Tmp1 + "SwapStr of [" & s1 & "," & s2 & "] is "
  8389.    Call cSwapStr(s1, s2)
  8390.    Tmp1 = Tmp1 + "[" & s1 & "," & s2 & "]" & Chr$(13)
  8391.  
  8392.    Tmp1 = Tmp1 + "SwapStr of [" & s1 & "," & s2 & "] is "
  8393.    Call cSwapStr(s1, s2)
  8394.    Tmp1 = Tmp1 + "[" & s1 & "," & s2 & "]" & Chr$(13)
  8395.  
  8396.    cStartBasisTimer
  8397.    For i = 1 To Item
  8398.       Call cSwapI(i1, i2)
  8399.    Next i
  8400.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8401.  
  8402.    Label3.Caption = Tmp1
  8403.  
  8404. End Sub
  8405.  
  8406. Private Sub TestSysMenuChange(Language As Integer)
  8407.    Call cLngSysMenu(Language, Me.hWnd)
  8408. End Sub
  8409.  
  8410. Private Sub TestTime()
  8411.  
  8412.    Dim Tmp1       As String
  8413.    
  8414.    Dim i          As Integer
  8415.    Dim nNow       As Long
  8416.    Dim nHour      As Integer
  8417.    Dim nMinute    As Integer
  8418.    Dim nSecond    As Integer
  8419.  
  8420.    nHour = Hour(Now)
  8421.    nMinute = Minute(Now)
  8422.    nSecond = Second(Now)
  8423.  
  8424.    nNow = cTimeToScalar(nHour, nMinute, nSecond)
  8425.    Tmp1 = Tmp1 & "Now scalar time is '" & nNow & "'" & Chr$(13)
  8426.    nHour = 0
  8427.    nMinute = 0
  8428.    nSecond = 0
  8429.    Call cScalarToTime(nNow, nHour, nMinute, nSecond)
  8430.    Tmp1 = Tmp1 & "Hour : " & nHour & ", Minute : " & nMinute & ", Second : " & nSecond & Chr$(13) & Chr$(13)
  8431.  
  8432.    nNow = cTimeToScalar(32767, 59, 59)
  8433.    Tmp1 = Tmp1 & "Maximum scalar time is '" & nNow & "'" & Chr$(13)
  8434.    nHour = 0
  8435.    nMinute = 0
  8436.    nSecond = 0
  8437.    Call cScalarToTime(nNow, nHour, nMinute, nSecond)
  8438.    Tmp1 = Tmp1 & "Hour : " & nHour & ", Minute : " & nMinute & ", Second : " & nSecond & Chr$(13) & Chr$(13)
  8439.  
  8440.    cStartBasisTimer
  8441.    For i = 1 To Item
  8442.       nNow = cTimeToScalar(nHour, nMinute, nSecond)
  8443.    Next i
  8444.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8445.  
  8446.    Label3.Caption = Tmp1
  8447.  
  8448. End Sub
  8449.  
  8450. Private Sub TestTimeBetween()
  8451.  
  8452.    Dim Title      As String
  8453.    Dim Tmp        As String
  8454.    Dim Tmp1       As String
  8455.    Dim Tmp2       As String
  8456.    Dim i          As Integer
  8457.    Dim j          As Integer
  8458.  
  8459.    Tmp1 = "The time between 10:00 and 12:01 is " & cTimeBetween(600, 721) & " minutes" & Chr$(13) & Chr$(13)
  8460.  
  8461.    Tmp1 = Tmp1 & "The time between 23:58 and 01:02 is " & cTimeBetween(1438, 62) & " minutes" & Chr$(13) & Chr$(13)
  8462.  
  8463.    cStartBasisTimer
  8464.    For i = 1 To Item
  8465.       j = cTimeBetween(0, 1439)
  8466.    Next i
  8467.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8468.  
  8469.    Label3.Caption = Tmp1
  8470.    
  8471. End Sub
  8472.  
  8473. Private Sub TestTimer()
  8474.  
  8475.    Dim Tmp1          As String
  8476.    Dim Tmp           As String
  8477.    Dim Tmp2          As String
  8478.    Dim i             As Integer
  8479.    Dim j             As Integer
  8480.    Dim k             As Long
  8481.    Dim TimerHandle   As Integer
  8482.    Dim StartOk       As Integer
  8483.    Dim CloseOk       As Integer
  8484.  
  8485.    Tmp1 = "BASIS TIMER" & Chr$(13) & Chr$(13)
  8486.  
  8487.    Tmp1 = Tmp1 & "The elapsed time for a empty loop of 32766 iterations is "
  8488.  
  8489.    cStartBasisTimer
  8490.    For i = 1 To 32766
  8491.    Next i
  8492.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  8493.  
  8494.    Tmp1 = Tmp1 & "The elapsed time for a integer loop of 32766 iterations is "
  8495.  
  8496.    j = 0
  8497.    cStartBasisTimer
  8498.    For i = 1 To 32766
  8499.       j = j + 1
  8500.    Next i
  8501.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  8502.  
  8503.    Tmp1 = Tmp1 & "The elapsed time for a long loop of 32766 iterations is "
  8504.  
  8505.    k = 0
  8506.    cStartBasisTimer
  8507.    For i = 1 To 32766
  8508.       k = i * 2&
  8509.    Next i
  8510.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  8511.  
  8512.    Tmp1 = Tmp1 & "The elapsed time for a string loop of 1000 iterations is "
  8513.  
  8514.    cStartBasisTimer
  8515.    For i = 1 To 1000
  8516.       Tmp2 = Tmp2 + "a"
  8517.    Next i
  8518.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  8519.  
  8520.    Call cStartBasisTimer
  8521.    StartOk = cSleep(1000)
  8522.    Tmp1 = Tmp1 & "True time for 1 wait second is " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  8523.  
  8524.    TimerHandle = cTimerOpen()
  8525.  
  8526.    Tmp1 = Tmp1 & "EXTENDED TIMER (handle is '" & TimerHandle & "')" & Chr$(13) & Chr$(13)
  8527.  
  8528.    Tmp1 = Tmp1 & "The elapsed time for a empty loop of 32766 iterations is "
  8529.  
  8530.    StartOk = cTimerStart(TimerHandle)
  8531.    For i = 1 To 32766
  8532.    Next i
  8533.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  8534.  
  8535.    Tmp1 = Tmp1 & "The elapsed time for a integer loop of 32766 iterations is "
  8536.  
  8537.    j = 0
  8538.    StartOk = cTimerStart(TimerHandle)
  8539.    For i = 1 To 32766
  8540.       j = j + 1
  8541.    Next i
  8542.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  8543.  
  8544.    Tmp1 = Tmp1 & "The elapsed time for a long loop of 32766 iterations is "
  8545.  
  8546.    k = 0
  8547.    StartOk = cTimerStart(TimerHandle)
  8548.    For i = 1 To 32766
  8549.       k = i * 2&
  8550.    Next i
  8551.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  8552.  
  8553.    Tmp1 = Tmp1 & "The elapsed time for a string loop of 1000 iterations is "
  8554.  
  8555.    StartOk = cTimerStart(TimerHandle)
  8556.    For i = 1 To 1000
  8557.       Tmp2 = Tmp2 + "a"
  8558.    Next i
  8559.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  8560.  
  8561.    StartOk = cTimerStart(TimerHandle)
  8562.    StartOk = cSleep(1000)
  8563.    Tmp1 = Tmp1 & "True time for 1 wait second is " & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  8564.  
  8565.    Label3.Caption = Tmp1
  8566.  
  8567.    CloseOk = cTimerClose(TimerHandle)
  8568.  
  8569. End Sub
  8570.  
  8571. Private Sub TestToggleAllBits()
  8572.  
  8573.    Dim Title      As String
  8574.    Dim Tmp        As String
  8575.    Dim Tmp1       As String
  8576.    Dim Tmp2       As String
  8577.    Dim i          As Integer
  8578.    Dim j          As Integer
  8579.    
  8580.  
  8581.    Tmp = Text1.Text
  8582.    Title = "Toggle all bits of [" & Tmp & "] is "
  8583.    Call cToggleAllBits(Tmp)
  8584.  
  8585.    Tmp1 = Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  8586.  
  8587.    Title = "Toggle all bits of [" & Tmp & "] is "
  8588.    Call cToggleAllBits(Tmp)
  8589.  
  8590.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  8591.  
  8592.    cStartBasisTimer
  8593.    For i = 1 To Item
  8594.       Call cToggleAllBits(Tmp)
  8595.    Next i
  8596.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8597.  
  8598.    Label3.Caption = Tmp1
  8599.  
  8600. End Sub
  8601.  
  8602. Private Sub TestToggleBit()
  8603.  
  8604.    Dim Title      As String
  8605.    Dim Tmp        As String
  8606.    Dim Tmp1       As String
  8607.    Dim Tmp2       As String
  8608.    Dim i          As Integer
  8609.    Dim j          As Integer
  8610.    
  8611.  
  8612.    Tmp = Text1.Text
  8613.    Title = "Toggle bit 7,22,15 of [" & Tmp & "] is "
  8614.    Call cToggleBit(Tmp, 7)
  8615.    Call cToggleBit(Tmp, 22)
  8616.    Call cToggleBit(Tmp, 15)
  8617.  
  8618.    Tmp1 = Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  8619.  
  8620.    Title = "Toggle bit 7,22,15 of [" & Tmp & "] is "
  8621.    Call cToggleBit(Tmp, 7)
  8622.    Call cToggleBit(Tmp, 22)
  8623.    Call cToggleBit(Tmp, 15)
  8624.  
  8625.    Tmp1 = Tmp1 & Title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  8626.  
  8627.    cStartBasisTimer
  8628.    For i = 1 To Item
  8629.       Call cToggleBit(Tmp, i)
  8630.    Next i
  8631.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8632.  
  8633.    Label3.Caption = Tmp1
  8634.  
  8635. End Sub
  8636.  
  8637. Private Sub TestToken()
  8638.  
  8639.    Dim Title      As String
  8640.    Dim Tmp        As String
  8641.    Dim Tmp1       As String
  8642.    Dim Tmp2       As String
  8643.    Dim i          As Integer
  8644.    Dim j          As Integer
  8645.  
  8646.    Tmp = "A/BC\DEF=GHIJ?KLMNO:PQRSTUV"
  8647.    Title = "The 2,4,1,5 blocks of [" & Tmp & "] separated by any one of '/\=?' are " & Chr$(13)
  8648.  
  8649.    Tmp1 = Title & "  2:" & cTokenIn(Tmp, "/\=?", 2) & Chr$(13) & "  4:" & cTokenIn(Tmp, "/\=?", 4) & Chr$(13) & "  1:" & cTokenIn(Tmp, "/\=?", 1) & Chr$(13) & "  5:" & cTokenIn(Tmp, "/\=?", 5) & Chr$(13) & Chr$(13)
  8650.  
  8651.    cStartBasisTimer
  8652.    For i = 1 To Item
  8653.       Tmp2 = cTokenIn(Tmp, "/\=?", 2)
  8654.    Next i
  8655.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8656.  
  8657.    Label3.Caption = Tmp1
  8658.    
  8659. End Sub
  8660.  
  8661. Private Sub TestTrueBetween()
  8662.  
  8663.    Dim Title      As String
  8664.    Dim Tmp        As String
  8665.    Dim Tmp1       As String
  8666.    Dim Tmp2       As String
  8667.    Dim i          As Integer
  8668.    Dim j          As Integer
  8669.    
  8670.  
  8671.    Tmp1 = "601 is not true between 720 and 840 => " & cTrueBetween(601, 720, 840) & Chr$(13) & Chr$(13)
  8672.  
  8673.    Tmp1 = Tmp1 & "601 is true between 540 and 602 => " & cTrueBetween(601, 540, 602) & Chr$(13) & Chr$(13)
  8674.  
  8675.    Tmp1 = Tmp1 & "61 is not true between 61 and 62 => " & cTrueBetween(61, 61, 62) & Chr$(13) & Chr$(13)
  8676.  
  8677.    cStartBasisTimer
  8678.    For i = 1 To Item
  8679.       j = cTrueBetween(720, 0, 1439)
  8680.    Next i
  8681.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8682.  
  8683.    Label3.Caption = Tmp1
  8684.  
  8685. End Sub
  8686.  
  8687. Private Sub TestTruncatePath()
  8688.  
  8689.    Dim Title      As String
  8690.    Dim Tmp        As String
  8691.    Dim Tmp1       As String
  8692.    Dim Tmp2       As String
  8693.    Dim Tmp3       As String
  8694.    Dim i          As Integer
  8695.    Dim j          As Long
  8696.    
  8697.    Tmp1 = ""
  8698.    
  8699.    Tmp1 = Tmp1 & "Truncate the following path with a length of 25" & Chr$(13) & Chr$(13)
  8700.  
  8701.    Tmp = "t2win-16.bas"
  8702.    Tmp2 = cTruncatePath(Tmp, 25)
  8703.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  8704.  
  8705.    Tmp = "windows\system\t2win-16.bas"
  8706.    Tmp2 = cTruncatePath(Tmp, 25)
  8707.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  8708.  
  8709.    Tmp = "c:\windows\system\t2win-16.bas"
  8710.    Tmp2 = cTruncatePath(Tmp, 25)
  8711.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  8712.  
  8713.    Tmp = "c:\windows\system\visual\t2win-16\t2win-16.bas"
  8714.    Tmp2 = cTruncatePath(Tmp, 25)
  8715.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  8716.  
  8717.    Tmp = "c:\windows\system\visual\source\t2win-16\t2win-16.bas"
  8718.    Tmp2 = cTruncatePath(Tmp, 25)
  8719.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13) & Chr$(13)
  8720.  
  8721.    Tmp1 = Tmp1 & "Truncate the following path with a length of 35" & Chr$(13) & Chr$(13)
  8722.  
  8723.    Tmp = "t2win-16.bas"
  8724.    Tmp2 = cTruncatePath(Tmp, 35)
  8725.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  8726.  
  8727.    Tmp = "windows\system\t2win-16.bas"
  8728.    Tmp2 = cTruncatePath(Tmp, 35)
  8729.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  8730.  
  8731.    Tmp = "c:\windows\system\t2win-16.bas"
  8732.    Tmp2 = cTruncatePath(Tmp, 35)
  8733.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  8734.  
  8735.    Tmp = "c:\windows\system\visual\t2win-16\t2win-16.bas"
  8736.    Tmp2 = cTruncatePath(Tmp, 35)
  8737.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  8738.  
  8739.    Tmp = "c:\windows\system\visual\source\t2win-16\t2win-16.bas"
  8740.    Tmp2 = cTruncatePath(Tmp, 35)
  8741.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13) & Chr$(13)
  8742.  
  8743.    cStartBasisTimer
  8744.    For i = 1 To Item
  8745.       Tmp2 = cTruncatePath(Tmp, 25)
  8746.    Next i
  8747.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  8748.  
  8749.    Label3.Caption = Tmp1
  8750.  
  8751. End Sub
  8752.  
  8753. Private Sub TestUncompact()
  8754.  
  8755.    Dim Title      As String
  8756.    Dim Tmp        As String
  8757.    Dim Tmp1       As String
  8758.    Dim Tmp2       As String
  8759.    Dim i          As Integer
  8760.    Dim j          As Integer
  8761.  
  8762.    Tmp = "987654321"
  8763.  
  8764.    Title = "Uncompact '" & Tmp & "' is "
  8765.    Tmp1 = Title & cUncompact(Tmp) & Chr$(13) & Chr$(13)
  8766.  
  8767.    cStartBasisTimer
  8768.    For i = 1 To Item
  8769.       Tmp2 = cUncompact(Tmp)
  8770.    Next i
  8771.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8772.  
  8773.    Label3.Caption = Tmp1
  8774.  
  8775. End Sub
  8776.  
  8777. Private Sub TestUniqueFileName()
  8778.  
  8779.    Dim Title      As String
  8780.    Dim Tmp        As String
  8781.    Dim Tmp1       As String
  8782.    Dim Tmp2       As String
  8783.    Dim i          As Integer
  8784.    Dim j          As Integer
  8785.    
  8786.  
  8787.    Tmp1 = "Generate unique filename with template WN is " & cUniqueFileName("WN") & Chr$(13) & Chr$(13)
  8788.  
  8789.    cStartBasisTimer
  8790.    For i = 1 To Item
  8791.       Tmp2 = cUniqueFileName("WN")
  8792.    Next i
  8793.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8794.  
  8795.    Label3.Caption = Tmp1
  8796.  
  8797. End Sub
  8798.  
  8799. Private Sub TestVersion()
  8800.  
  8801.    Dim Tmp        As String
  8802.  
  8803.    Dim Version    As Single
  8804.  
  8805.    Version = cGetVersion()
  8806.  
  8807.    Tmp = Tmp + "Version is " & Version
  8808.  
  8809.    Label3.Caption = Tmp
  8810.  
  8811. End Sub
  8812.  
  8813. Private Sub TestWalkThruWindow()
  8814.  
  8815.    Dim nClass        As String
  8816.    Dim nCaption      As String
  8817.    Dim nOwnerClass   As String
  8818.    Dim nOwnerCaption As String
  8819.    Dim nOwnerHwnd    As Integer
  8820.    
  8821.    Dim nhWnd         As Integer
  8822.    Dim i             As Integer
  8823.  
  8824.    Frame1.Visible = True
  8825.    List1.Clear
  8826.    List2.Clear
  8827.    List1.FontBold = False
  8828.    List2.FontBold = False
  8829.    
  8830.    nhWnd = cWalkThruWindow(nClass, nCaption, nOwnerHwnd, nOwnerClass, nOwnerCaption, True)
  8831.  
  8832.    Do While (nhWnd <> 0)
  8833.       i = i + 1
  8834.       List1.AddItem "[" & Format$(i, "00") & "] " & Right$("0000" + Hex$(nhWnd), 4) & " " & nCaption & " (" & nClass & ")"
  8835.       List2.AddItem "[" & Format$(i, "00") & "] " & Right$("0000" + Hex$(nOwnerHwnd), 4) & " " & nOwnerCaption & " (" & nOwnerClass & ")"
  8836.       nhWnd = cWalkThruWindow(nClass, nCaption, nOwnerHwnd, nOwnerClass, nOwnerCaption, False)
  8837.    Loop
  8838.  
  8839. End Sub
  8840.  
  8841. Private Sub TestWindowsIni()
  8842.  
  8843.    Dim Tmp        As String
  8844.  
  8845.    Tmp = Tmp + "DateSeparator is " + cGetDateSeparator() + Chr$(13)
  8846.    Tmp = Tmp + "TimeSeparator is " + cGetTimeSeparator() + Chr$(13)
  8847.    Tmp = Tmp + "ListSeparator is " + cGetListSeparator() + Chr$(13)
  8848.    Tmp = Tmp + "DateFormat    is " + cGetDateFormat() + Chr$(13)
  8849.    Tmp = Tmp + "HourFormat    is " + cGetHourFormat() + Chr$(13)
  8850.    Tmp = Tmp + "Currency      is " + cGetCurrency() + Chr$(13)
  8851.    Tmp = Tmp + "Language      is " + cGetLanguage() + Chr$(13)
  8852.    Tmp = Tmp + "Country       is " + cGetCountry() + Chr$(13)
  8853.    Tmp = Tmp + "CountryCode   is " + cGetCountryCode() + Chr$(13)
  8854.  
  8855.    Label3.Caption = Tmp
  8856.  
  8857. End Sub
  8858.  
  8859. Private Sub TestWinINI1()
  8860.    Label3.Caption = cGetDevices() & Chr$(13) & Chr$(13) & "Length = " & Len(cGetDevices())
  8861. End Sub
  8862.  
  8863. Private Sub TestWinINI2()
  8864.    Label3.Caption = cGetPrinterPorts() & Chr$(13) & Chr$(13) & "Length = " & Len(cGetPrinterPorts())
  8865. End Sub
  8866.  
  8867. Private Sub TestWinINI3()
  8868.    Label3.Caption = cGetWinSection("windows") & Chr$(13) & Chr$(13) & "Length = " & Len(cGetWinSection("windows"))
  8869. End Sub
  8870.  
  8871.  
  8872. Private Sub TestHexaToX()
  8873.  
  8874.    Dim Title      As String
  8875.    Dim Tmp        As String
  8876.    Dim Tmp1       As String
  8877.    Dim Tmp2       As String
  8878.    Dim i          As Integer
  8879.    Dim j          As Integer
  8880.  
  8881.    Tmp1 = "Hexa to Integer" & Chr$(13) & Chr$(13)
  8882.  
  8883.    Tmp2 = "0"
  8884.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  8885.    Tmp2 = "1"
  8886.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  8887.    Tmp2 = "A"
  8888.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  8889.    Tmp2 = "A1"
  8890.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  8891.    Tmp2 = "A1B"
  8892.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  8893.    Tmp2 = "7FFF"
  8894.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  8895.    Tmp2 = "A1B2"
  8896.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13)
  8897.    Tmp2 = "FFFF"
  8898.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2I(Tmp2) & Chr$(13) & Chr$(13)
  8899.  
  8900.    Tmp1 = Tmp1 & "Hexa to Long" & Chr$(13) & Chr$(13)
  8901.  
  8902.    Tmp2 = "0"
  8903.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  8904.    Tmp2 = "1"
  8905.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  8906.    Tmp2 = "A"
  8907.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  8908.    Tmp2 = "A1"
  8909.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  8910.    Tmp2 = "A1B"
  8911.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  8912.    Tmp2 = "A1B2"
  8913.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  8914.    Tmp2 = "7FFFFFFF"
  8915.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  8916.    Tmp2 = "B2A1A1B2"
  8917.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13)
  8918.    Tmp2 = "FFFFFFFF"
  8919.    Tmp1 = Tmp1 & Tmp2 & " -> " & cH2L(Tmp2) & Chr$(13) & Chr$(13)
  8920.    
  8921.    cStartBasisTimer
  8922.    For i = 1 To Item
  8923.       j = cH2I(Tmp2)
  8924.    Next i
  8925.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8926.  
  8927.    Label3.Caption = Tmp1
  8928.    
  8929. End Sub
  8930.  
  8931.  
  8932. Private Sub TestBinaryToX()
  8933.  
  8934.    Dim Title      As String
  8935.    Dim Tmp        As String
  8936.    Dim Tmp1       As String
  8937.    Dim Tmp2       As String
  8938.    Dim i          As Integer
  8939.    Dim j          As Integer
  8940.  
  8941.    Tmp1 = "Binary to Integer" & Chr$(13) & Chr$(13)
  8942.  
  8943.    Tmp2 = String(1, "1")
  8944.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  8945.    Tmp2 = String(2, "1")
  8946.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  8947.    Tmp2 = String(4, "1")
  8948.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  8949.    Tmp2 = String(8, "1")
  8950.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  8951.    Tmp2 = String(16, "1")
  8952.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  8953.    Tmp2 = "0111111111111111"
  8954.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  8955.    Tmp2 = "0101010101010101"
  8956.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13)
  8957.    Tmp2 = "1010101010101010"
  8958.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2I(Tmp2) & Chr$(13) & Chr$(13)
  8959.  
  8960.    Tmp1 = Tmp1 & "Binary to Long" & Chr$(13) & Chr$(13)
  8961.  
  8962.    Tmp2 = String(1, "1")
  8963.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  8964.    Tmp2 = String(4, "1")
  8965.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  8966.    Tmp2 = String(8, "1")
  8967.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  8968.    Tmp2 = String(16, "1")
  8969.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  8970.    Tmp2 = String(32, "1")
  8971.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  8972.    Tmp2 = "0101010101010101"
  8973.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  8974.    Tmp2 = "1010101010101010"
  8975.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  8976.    Tmp2 = "01010101010101010101010101010101"
  8977.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13)
  8978.    Tmp2 = "10101010101010101010101010101010"
  8979.    Tmp1 = Tmp1 & Tmp2 & " -> " & cB2L(Tmp2) & Chr$(13) & Chr$(13)
  8980.    
  8981.    cStartBasisTimer
  8982.    For i = 1 To Item
  8983.       j = cB2I(Tmp2)
  8984.    Next i
  8985.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  8986.  
  8987.    Label3.Caption = Tmp1
  8988.    
  8989. End Sub
  8990.